aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWPT Sync Bot <josh+wptsync@joshmatthews.net>2020-01-26 08:23:54 +0000
committerWPT Sync Bot <josh+wptsync@joshmatthews.net>2020-01-26 11:15:02 +0000
commit0cb6acf9a26591464f5ae9012401a3b110b75ac5 (patch)
tree1c36267f7dfcbe5f17e5c03bfdba76d3e1877993
parent0bd266149263cbdcd0ddd677ab3a7eaa0322b660 (diff)
downloadservo-0cb6acf9a26591464f5ae9012401a3b110b75ac5.tar.gz
servo-0cb6acf9a26591464f5ae9012401a3b110b75ac5.zip
Update web-platform-tests to revision e1edaa3dd1bea4415ee88e042affee32028d7f1d
-rw-r--r--tests/wpt/metadata/MANIFEST.json28388
-rw-r--r--tests/wpt/metadata/css/css-regions/animations/animations-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/elements/canvas3d-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-regions/elements/canvas3d-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-regions/elements/iframe-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-004.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/column-flexbox-break.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-004.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/row-flexbox-break.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/flexbox/visibility-regions-in-flexbox.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-007.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-009.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-004.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-006.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-008.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-009.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-011.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-012.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-013.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-015.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-016.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-017.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-019.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-021.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-022.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-023.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-024.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-025.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-026.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-027.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-028.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-029.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-004.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-005.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-006.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-007.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-008.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-009.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-010.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-011.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-012.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-013.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-014.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-015.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-016.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-018.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-019.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-020.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-021.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-regions/transforms/regions-transforms-022.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-values/ch-pseudo-recalc-on-font-load.html.ini17
-rw-r--r--tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini6
-rw-r--r--tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini12
-rw-r--r--tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini6
-rw-r--r--tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini2
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js.ini3
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini4
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/.azure-pipelines.yml222
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html186
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html8
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html46
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html24
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html10
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html150
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html8
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-closed.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html28
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html10
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html92
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html14
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds.html12
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html164
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html6
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py4
-rw-r--r--tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor-endings.html4
-rw-r--r--tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html26
-rw-r--r--tests/wpt/web-platform-tests/FileAPI/file/File-constructor-endings.html4
-rw-r--r--tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html12
-rw-r--r--tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html8
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/bigint_value.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/clone-before-keypath-eval.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idb-explicit-commit.any.js14
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-exception-order.html4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm38
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue-exception-order.htm6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm34
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-delete-exception-order.htm6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor-update-exception-order.htm8
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index8.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore9.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm8
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm14
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex-getAll-enforcerange.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex-query-exception-order.html4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex-rename-errors.html18
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex-rename.html4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_get8.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey8.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbkeyrange-includes.htm12
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm36
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm24
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order.html6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order.html4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order.html6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order.html6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-index-finished.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-errors.html17
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-store.html4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex14-exception_order.htm12
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm20
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_getKey.html6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm10
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbrequest_error.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbrequest_result.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/key-conversion-exceptions.htm50
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/keygenerator-inject.html6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/keypath-exceptions.htm71
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/structured-clone-transaction-state.any.js6
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/structured-clone.any.js2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/transaction-abort-index-metadata-revert.html32
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/transaction-abort-multiple-metadata-revert.html38
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/transaction-abort-object-store-metadata-revert.html16
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/transaction-relaxed-durability.tentative.any.js2
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html8
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-committed.html8
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-user-aborted.html16
-rw-r--r--tests/wpt/web-platform-tests/WebCryptoAPI/getRandomValues.any.js10
-rw-r--r--tests/wpt/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js7
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js10
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html4
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/global-immutable-prototype.any.js2
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html8
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html8
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object.html24
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html6
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html2
-rw-r--r--tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html4
-rw-r--r--tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-invalid-effect.https.html2
-rw-r--r--tests/wpt/web-platform-tests/beacon/beacon-error.sub.window.js4
-rw-r--r--tests/wpt/web-platform-tests/beacon/beacon-readablestream.window.js2
-rw-r--r--tests/wpt/web-platform-tests/bluetooth/idl/idl-Bluetooth.https.html8
-rw-r--r--tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html16
-rw-r--r--tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothUUID.html82
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-answers.sub.https.html62
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-answers.sub.https.html.headers (renamed from tests/wpt/web-platform-tests/client-hints/accept_ch.http.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-cache-revalidation.https.html3
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-change.https.html75
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-feature-policy.sub.https.html68
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-feature-policy.sub.https.html.headers (renamed from tests/wpt/web-platform-tests/client-hints/accept_ch_feature_policy.tentative.sub.https.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-malformed-header.https.html26
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-malformed-header.https.html.headers (renamed from tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-no-feature-policy.sub.https.html62
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-no-feature-policy.sub.https.html.headers (renamed from tests/wpt/web-platform-tests/client-hints/accept_ch_no_feature_policy.tentative.sub.https.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-non-secure.http.html35
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-non-secure.http.html.headers (renamed from tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.sub.https.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/README.md14
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/resources/accept-ch-test.js5
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept_ch.http.html35
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.https.html65
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.sub.https.html62
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept_ch_feature_policy.tentative.sub.https.html68
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html26
-rw-r--r--tests/wpt/web-platform-tests/client-hints/accept_ch_no_feature_policy.tentative.sub.https.html62
-rw-r--r--tests/wpt/web-platform-tests/client-hints/echo_client_hints_received.py26
-rw-r--r--tests/wpt/web-platform-tests/client-hints/echo_ua_client_hints_received.py26
-rw-r--r--tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-malformed-header.https.html28
-rw-r--r--tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-non-secure.http.html36
-rw-r--r--tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.http.html36
-rw-r--r--tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.https.html48
-rw-r--r--tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.sub.https.html65
-rw-r--r--tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch_malformed_header.tentative.https.html28
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html11
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html11
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html10
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html10
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html.headers1
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/echo-client-hints-received.py26
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/echo-ua-client-hints-received.py26
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/expect-client-hints-headers.html22
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/expect-different-client-hints-headers.html22
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/expect_client_hints_headers.html22
-rw-r--r--tests/wpt/web-platform-tests/client-hints/resources/open-and-add-load-event.js9
-rw-r--r--tests/wpt/web-platform-tests/client-hints/sec-ch-quotes.https.html5
-rw-r--r--tests/wpt/web-platform-tests/clipboard-apis/clipboard-item.https.html8
-rw-r--r--tests/wpt/web-platform-tests/common/stringifiers.js4
-rw-r--r--tests/wpt/web-platform-tests/common/test-setting-immutable-prototype.js24
-rw-r--r--tests/wpt/web-platform-tests/compression/compression-stream.tentative.any.js2
-rw-r--r--tests/wpt/web-platform-tests/compression/decompression-constructor-error.tentative.any.js6
-rw-r--r--tests/wpt/web-platform-tests/console/console-label-conversion.any.js2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/inside-worker/support/script-src-self.sub.js6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4_2.html4
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_eval.html2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_new_function.html2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/securitypolicyviolation/constructor-required-fields.html14
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/support/testharness-helper.js4
-rw-r--r--tests/wpt/web-platform-tests/cors/client-hint-request-headers.htm10
-rw-r--r--tests/wpt/web-platform-tests/cors/origin.htm4
-rw-r--r--tests/wpt/web-platform-tests/cors/request-headers.htm6
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js14
-rw-r--r--tests/wpt/web-platform-tests/css/css-conditional/js/001.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-conditional/test_group_insertRule.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-content/element-replacement-dynamic.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-flexbox/dynamic-change-simplified-layout-002.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-fonts/font-synthesis-05.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-align-stretching-replaced-items.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/chrome-bug-001.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/baseline/child-baseline.https.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/baseline/flex-baseline.https.html50
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/baseline/no-baseline.https.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/baseline/orthogonal-baseline.https.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-properties-values-api/register-property.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-properties-values-api/self-utils.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-properties-values-api/typedom.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020-ref.html52
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/META.yml4
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/animations/animations-001.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/animations/reference/animations-001-ref.html39
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/animations/support/animations.css80
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-001.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-002.html74
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-003.html87
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-004.html81
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-005.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-006.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-007.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-008.html67
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-009.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-010.html66
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-011.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-012.html83
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-001-ref.html36
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-002-ref.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-003-ref.html66
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-004-ref.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-005-ref.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-006-ref.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-007-ref.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-008-ref.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-010-ref.html39
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-011-ref.html39
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/common.css17
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/helpers.js32
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-001.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-002.html69
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-003.html82
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-004.html83
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-005.html64
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-006.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-007.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-008.html78
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-009.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-010.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-011.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-012.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-013.html66
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-014.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-015.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-001.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-002.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs.html44
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-spans-display-only-some.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-001.html91
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-002.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-003.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html116
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html80
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html104
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html112
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html121
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/extract-unordered-lists-in-regions.html90
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-001-ref.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-002-ref.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-003-ref.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-004-ref.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-005-ref.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-006-ref.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-007-ref.html46
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-008-ref.html78
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-009-ref.html73
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-012-ref.html102
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-013-ref.html73
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-014-ref.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-015-ref.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-001-ref.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-002-ref.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-ref.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-spans-display-only-some-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-001-ref.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html67
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-003-ref.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html95
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html102
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html106
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html115
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-unordered-lists-in-regions-ref.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/cssomview-apis-no-region-chain-001.html96
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-001.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-002.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/iframe-001.html36
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-001-ref.html29
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-002-ref.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/reference/iframe-001-ref.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/support/3d-filler.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/support/Three.js682
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.mp4bin299193 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.ogvbin287648 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/support/static-cube.js52
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/elements/video-001.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-001.html45
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-002.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-003.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-004.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html94
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html90
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html95
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html108
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/column-flexbox-break.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-001-ref.html29
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-002-ref.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html29
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-001-ref.html32
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-002-ref.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-003-ref.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-004-ref.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/column-flexbox-break-ref.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-001-ref.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-002-ref.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/row-flexbox-break-ref.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/visibility-regions-in-flexbox-ref.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-001.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-002.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-003.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-004.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/row-flexbox-break.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flexbox/visibility-regions-in-flexbox.html64
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-001.html91
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-002.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-003.html52
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-004.html73
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-005.html77
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-001.html88
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-002.html88
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-001.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-002.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-003.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-004.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-005.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-006.html74
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-007.html85
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-008.html78
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-009.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-010.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-011.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-012.html85
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-013.html63
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-014.html66
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-015.html63
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-016.html63
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-017.html83
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-018.html78
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-019.html78
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-020.html69
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-021.html86
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-022.html80
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-023.html67
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-024.html66
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-025.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-026.html107
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-027.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-028.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-029.html92
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-030.html90
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-031.html88
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-032.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-033.html92
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-001-ref.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-002-ref.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-003-ref.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-004-ref.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-005-ref.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-001-ref.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-002-ref.html61
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-001-ref.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-002-ref.html44
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-003-ref.html39
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-004-ref.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-005-ref.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-009-ref.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-011-ref.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-012-ref.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-013-ref.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-016-ref.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-017-ref.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-018-ref.html61
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-020-ref.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-021-ref.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-023-ref.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-024-ref.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-025-ref.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-026-ref.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-027-ref.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-029-ref.html69
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-030-ref.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-031-ref.html69
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-032-ref.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-033-ref.html78
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-content-001-ref.xht20
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-content-001.xht35
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-content-002-ref.xht20
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-content-002.xht41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-from-001-ref.xht23
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-from-001.xht55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001-ref.xht29
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001.xht57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-001-ref.xht31
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-001.xht120
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001-ref.xht29
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001.xht39
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001-ref.xht34
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001.xht73
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-parsing-001.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001-ref.xht24
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001.xht44
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/idlharness.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/inheritance.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-002.html61
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-003.html74
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-004.html73
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-005.html83
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-006.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-007.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-008.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-009.html77
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-010.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/cat.jpgbin21474 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/common.css19
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.mp4bin299193 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.ogvbin287648 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/util.js18
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-001.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-002.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-001.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-002.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-003.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-004.html61
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-005.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-001.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-002.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-003.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-004.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-001.html117
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-002.html125
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-001.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-002.html67
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-003.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-004.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-005.html63
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-006.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-001.html129
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-002.html200
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-003.html101
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-004.html159
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-005.html191
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-001.html97
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-002.html106
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-003.html96
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-001.html110
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-002.html115
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-003.html112
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-001.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-002.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-003.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-001.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-002.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-003.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html67
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html69
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html84
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html114
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html108
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html119
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html137
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html104
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html116
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html104
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/css/regions-keyboard.css49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/js/regions-keyboard-events-test-helper.js53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-001.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-002.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-003.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-004.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-005.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-006.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-007.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-008.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-009.html72
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/css/regions-mouse-events.css46
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/js/regions-mouse-events-test-helper.js104
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-005-ref.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-001.html32
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-002.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-003.html34
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-004.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-005.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-006.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-007.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-008.html36
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-009.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-010.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-011.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-012.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-013.html46
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/2-80px-block-ref.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-float-ref.html29
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-body.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-container.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/two-regions-in-container.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/util.js29
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-001.html46
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-002.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-003.html45
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-004.html45
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-005.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-006.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-007.html52
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-008.html50
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-009.html52
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-010.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-011.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-012.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-013.html52
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-014.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-015.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-016.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-017.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-018.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-019.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-020.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-021.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-022.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-023.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-024.html61
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-025.html93
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/css/regions-selection.css22
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/img/cat.pngbin1883 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/js/selection-test-helper.js261
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-006-ref.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-008-ref.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-009-ref.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-012-ref.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-013-ref.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-016-ref.html46
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-017-ref.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-019-ref.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html36
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-028-ref.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-003.html73
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-004.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-006.html84
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-008.html87
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-009.html82
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-011.html87
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-012.html81
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-013.html81
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-015.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-016.html82
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-017.html94
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-019.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-021.html77
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-022.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-023.html63
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-024.html84
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-025.html82
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-026.html81
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-027.html81
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-028.html84
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-029.html83
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/positioned-content/position-relative-001.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/positioned-content/reference/position-relative-001-ref.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/reference/region-fragment-break-1-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-fragment-001-ref.xht36
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-fragment-001.xht60
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-fragment-002-ref.xht51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-fragment-002.xht73
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-fragment-break-1.html34
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001-ref.xht18
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001.xht56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-styling-001-ref.xht17
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/region-styling-001.xht35
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-001.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-002.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-003.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-004.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-005.html57
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-001.html137
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-002.html123
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-001-ref.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-002-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-003-ref.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-004-ref.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-005-ref.html39
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-001-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-002-ref.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-001-ref.html32
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-002-ref.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-003-ref.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-001-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-002-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-001-ref.html68
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-002-ref.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-003-ref.html64
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-004-ref.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-005-ref.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-001.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-002.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-001.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-002.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-003.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-001.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-002.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-001.html84
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-002.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-003.html75
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-004.html74
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-005.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/1x1-green.pngbin135 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/1x1-lime.pngbin135 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/1x1-maroon.pngbin109 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/1x1-navy.pngbin109 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/1x1-red.pngbin135 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/1x1-white.pngbin109 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/60x60-gg-rr.pngbin224 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/60x60-green.pngbin218 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/60x60-red.pngbin217 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/README28
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/a-green.css1
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/b-green.css1
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/c-red.css1
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/cat.pngbin1883 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rgr-grg.pngbin222 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rrg-rgg.pngbin231 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/pattern-rgr-grg-rgr.pngbin223 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/pattern-tr.pngbin137 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/square-purple.pngbin92 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/square-teal.pngbin92 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/square-white.pngbin78 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-blue.pngbin84 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-green.pngbin84 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-lime.pngbin84 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-orange.pngbin84 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-red.pngbin84 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-teal.pngbin156 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-white.pngbin85 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/swatch-yellow.pngbin84 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/test-bl.pngbin1368 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/test-br.pngbin1045 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/test-outer.pngbin2412 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/test-tl.pngbin1025 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/support/test-tr.pngbin1235 -> 0 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html377
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-001-ref.html19
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-008-ref.html37
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-010-ref.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-alt-ref.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-014-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-016-ref.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-017-ref.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-018-ref.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-019-ref.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-020-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-001.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-002.html44
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-003.html44
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-004.html63
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-005.html65
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-006.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-007.html52
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-008.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-009.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-010.html45
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-011.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-012.html46
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-013.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-014.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-015.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-016.html69
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-017.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-018.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-019.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-020.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-021.html54
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-022.html85
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/variable-width-001-ref.xht26
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/variable-width-001.xht66
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/writing-modes/extract-ordered-list-direction-and-writing-modes.html86
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/writing-modes/reference/extract-ordered-list-direction-and-writing-modes-ref.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-syntax/escaped-eof.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/transitionevent-interface.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parse-invalid.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-invalid.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-value.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkew.tentative.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-invalid.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-variable.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/getAll.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/has.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/delete-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/get-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/getAll.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/has.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set-shorthand.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/delete-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/getAll.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/has.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set-shorthand.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js2
-rw-r--r--tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html88
-rw-r--r--tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-parameters.html12
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html8
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html16
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet.html8
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/at-namespace.html4
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/computed-style-001.html6
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/computed-style-set-property.html8
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html2
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/escape.html2
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/getComputedStyle-pseudo.html2
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html4
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html4
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/insertRule-syntax-error-01.html2
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/medialist-interfaces-002.html2
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html6
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/svgfeblendelement-mode-001.html6
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMMatrix-001.html6
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js4
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMMatrix-stringifier.html4
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html4
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html2
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMPoint-002.html2
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMQuad-001.html10
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/DOMQuad-002.html6
-rw-r--r--tests/wpt/web-platform-tests/css/geometry/spec-examples.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html4
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/attribute-selectors/attribute-case/syntax.html2
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/user-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/webkit-pseudo-element.html4
-rw-r--r--tests/wpt/web-platform-tests/css/support/parsing-testcommon.js4
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/CustomElementRegistry.html92
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/Document-createElement.html4
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/HTMLElement-attachInternals.html20
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/HTMLElement-constructor.html18
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/custom-element-registry/define.html32
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-NotSupportedError.html18
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-validation.html6
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/htmlconstructor/newtarget.html9
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/reactions/with-exceptions.html2
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html10
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html10
-rw-r--r--tests/wpt/web-platform-tests/dom/collections/HTMLCollection-as-prototype.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/collections/HTMLCollection-delete.html4
-rw-r--r--tests/wpt/web-platform-tests/dom/collections/HTMLCollection-own-props.html6
-rw-r--r--tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html12
-rw-r--r--tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/events/CustomEvent.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/events/Event-constructors.html6
-rw-r--r--tests/wpt/web-platform-tests/dom/events/Event-dispatch-redispatch.html10
-rw-r--r--tests/wpt/web-platform-tests/dom/events/Event-initEvent.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/events/Event-subclasses-constructors.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendChild.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendData.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/CharacterData-deleteData.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/CharacterData-insertData.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/CharacterData-replaceData.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/CharacterData-substringData.html10
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html12
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-adoptNode.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-createAttribute.html4
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-createElement.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-createElementNS.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-createEvent.https.html12
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-createProcessingInstruction.js2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-createTreeWalker.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html4
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentText.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Element-matches.js4
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Node-appendChild.html10
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Node-contains-xml.xml4
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Node-insertBefore.html88
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Node-removeChild.html10
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Node-replaceChild.html58
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/ParentNode-querySelector-All.js10
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Text-splitText.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/adoption.window.js2
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/append-on-Document.html6
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/attributes.html40
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/insert-adjacent.html10
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/pre-insertion-checks.js16
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/prepend-on-Document.html6
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-cloneContents.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html4
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint-2.html4
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint.html6
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-extractContents.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-insertNode.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-intersectsNode-binding.html24
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-isPointInRange.html4
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-selectNode.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-set.html16
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/Range-surroundContents.html2
-rw-r--r--tests/wpt/web-platform-tests/dom/ranges/StaticRange-constructor.html18
-rw-r--r--tests/wpt/web-platform-tests/dom/traversal/NodeIterator.html9
-rw-r--r--tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html20
-rw-r--r--tests/wpt/web-platform-tests/dom/traversal/TreeWalker-basic.html10
-rw-r--r--tests/wpt/web-platform-tests/dom/traversal/TreeWalker.html14
-rw-r--r--tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html2
-rw-r--r--tests/wpt/web-platform-tests/domparsing/createContextualFragment.html2
-rw-r--r--tests/wpt/web-platform-tests/domparsing/innerhtml-01.xhtml4
-rw-r--r--tests/wpt/web-platform-tests/domparsing/innerhtml-05.xhtml2
-rw-r--r--tests/wpt/web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml8
-rw-r--r--tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.html6
-rw-r--r--tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.js16
-rw-r--r--tests/wpt/web-platform-tests/domparsing/outerhtml-01.html2
-rw-r--r--tests/wpt/web-platform-tests/domxpath/001.html2
-rw-r--r--tests/wpt/web-platform-tests/domxpath/002.html2
-rw-r--r--tests/wpt/web-platform-tests/domxpath/evaluator-constructor.html2
-rw-r--r--tests/wpt/web-platform-tests/domxpath/lexical-structure.html10
-rw-r--r--tests/wpt/web-platform-tests/editing/other/non-html-document.html2
-rw-r--r--tests/wpt/web-platform-tests/element-timing/background-image-data-uri.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/background-image-stretched.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/buffer-before-onload.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/buffered-flag.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/cross-origin-element.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/cross-origin-iframe-element.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/css-generated-text.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/disconnect-image.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/element-only-when-fully-active.html3
-rw-r--r--tests/wpt/web-platform-tests/element-timing/first-letter-background.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/fixed-id-identifier.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-TAO.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-carousel.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-clipped-svg.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-data-uri.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-not-added.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-not-fully-visible.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-rect-iframe.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-src-change.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-with-css-scale.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/image-with-rotation.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/images-repeated-resource.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/invisible-images.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/multiple-background-images.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-background-image.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-child-element.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-elementtiming.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-empty-attribute.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-multiple-images.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-shadow-image.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-shadow-text.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-svg-image.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-text.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-video-poster.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/progressively-loaded-image.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/rectangular-image.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/redirects-tao-star.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/retrievability.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/scroll-to-text.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/text-with-display-style.html4
-rw-r--r--tests/wpt/web-platform-tests/element-timing/toJSON.html4
-rw-r--r--tests/wpt/web-platform-tests/encoding/api-invalid-label.any.js2
-rw-r--r--tests/wpt/web-platform-tests/encoding/api-replacement-encodings.any.js2
-rw-r--r--tests/wpt/web-platform-tests/encoding/encodeInto.any.js4
-rw-r--r--tests/wpt/web-platform-tests/encoding/streams/decode-attributes.any.js8
-rw-r--r--tests/wpt/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.js2
-rw-r--r--tests/wpt/web-platform-tests/encoding/textdecoder-fatal-streaming.any.js6
-rw-r--r--tests/wpt/web-platform-tests/encoding/textdecoder-fatal.any.js2
-rw-r--r--tests/wpt/web-platform-tests/encoding/textdecoder-utf16-surrogates.any.js2
-rw-r--r--tests/wpt/web-platform-tests/entries-api/filesystemfileentry-file-manual.html2
-rw-r--r--tests/wpt/web-platform-tests/eventsource/eventsource-constructor-url-bogus.any.js2
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/reporting/document-write-reporting.html2
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-reporting.https.html8
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/reporting/payment-reporting.https.html2
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-reporting.html2
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html6
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/headers/header-values.html2
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/headers/headers-basic.html2
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/headers/headers-errors.html28
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/headers/headers-record.html4
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/request/request-cache.js2
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/request/request-disturbed.html8
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/request/request-error.html4
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/request/request-init-002.html4
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/request/request-init-stream.any.js2
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/request/request-keepalive.html2
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/response/response-clone.html2
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/response/response-error.html6
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/response/response-from-stream.any.js6
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/response/response-static-redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/fetch/api/response/response-stream-disturbed-5.html8
-rw-r--r--tests/wpt/web-platform-tests/fetch/http-cache/http-cache.js2
-rw-r--r--tests/wpt/web-platform-tests/fetch/images/canvas-remote-read-remote-image-redirect.html2
-rw-r--r--tests/wpt/web-platform-tests/fullscreen/rendering/fullscreen-pseudo-class-support.html4
-rw-r--r--tests/wpt/web-platform-tests/generic-sensor/generic-sensor-feature-policy-test.sub.js2
-rw-r--r--tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js10
-rw-r--r--tests/wpt/web-platform-tests/geolocation-API/getCurrentPosition_TypeError.html12
-rw-r--r--tests/wpt/web-platform-tests/geolocation-API/watchPosition_TypeError.html12
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/001.html16
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/002.html16
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_properties_only_fully_active.html16
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_err.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_replacestate_err.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_assign.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_swapcache_error.https.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_update_error.https.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-due-to-document-domain-only.html10
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html68
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/origin/origin-of-data-document.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html38
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/sandboxed-document_domain.html10
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-same-origin.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/the-window-object/security-window/window-security.https.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties-strict.html18
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties.html12
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/windows/document-domain-nested-navigate.window.js2
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-blank.html18
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-srcdoc.html17
-rw-r--r--tests/wpt/web-platform-tests/html/dom/documents/dom-tree-accessors/Document.body.html6
-rw-r--r--tests/wpt/web-platform-tests/html/dom/elements/global-attributes/dataset-set.html6
-rw-r--r--tests/wpt/web-platform-tests/html/editing/dnd/datastore/datatransfer-types.html2
-rw-r--r--tests/wpt/web-platform-tests/html/editing/dnd/synthetic/001.html4
-rw-r--r--tests/wpt/web-platform-tests/html/editing/dnd/target-origin/001-manual.html40
-rw-r--r--tests/wpt/web-platform-tests/html/editing/dnd/target-origin/002-manual.html6
-rw-r--r--tests/wpt/web-platform-tests/html/editing/editing-0/contenteditable/contentEditable-invalidvalue.html2
-rw-r--r--tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-svg.svg12
-rw-r--r--tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-xml.xml12
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/domstringlist.html4
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/historical.html4
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html4
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html2
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmloptionscollection.html2
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-coop-coep.https.any.js6
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.https.html12
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-history.https.html4
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-idb.any.js4
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-notifications-api.any.js4
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/structuredclone_0.html4
-rw-r--r--tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js8
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/historical.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html8
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html14
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/getter.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/createEvent.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html8
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html12
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.cross.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/historical.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/historical.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js17
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js5
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html10
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html10
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-requestsubmit.html8
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/maxlength.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/minlength.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/selection.html10
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html12
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-add.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html16
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tHead.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/deleteRow.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/deleteCell.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/insertCell.html4
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/atob/base64.html4
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js8
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js4
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/microtask-queuing/queue-microtask.any.js12
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https.html4
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html12
-rw-r--r--tests/wpt/web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached.html2
-rw-r--r--tests/wpt/web-platform-tests/import-maps/resources/jest-test-helper.js2
-rw-r--r--tests/wpt/web-platform-tests/interfaces/css-regions.idl33
-rw-r--r--tests/wpt/web-platform-tests/intersection-observer/observer-exceptions.html18
-rw-r--r--tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html4
-rw-r--r--tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html2
-rw-r--r--tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html6
-rw-r--r--tests/wpt/web-platform-tests/kv-storage/interface.https.html21
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/contracted-image.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/cross-origin-image.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/expanded-image.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/first-letter-background.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/first-paint-equals-lcp-text.html8
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/iframe-content-not-observed.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/image-src-change.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/invisible-images.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/larger-image.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/larger-text.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/loadTime-after-appendChild.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/observe-after-untrusted-scroll.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/observe-image.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/observe-text.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/repeated-image.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/text-with-display-style.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/toJSON.html4
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/video-poster.html4
-rw-r--r--tests/wpt/web-platform-tests/lint.whitelist14
-rw-r--r--tests/wpt/web-platform-tests/loading/lazyload/original-crossorigin-applied-tentative.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/long-microtask.window.js5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-attributes.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe-crossorigin.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-in-externalscript.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-in-parentiframe.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-in-raf.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe-crossorigin.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/longtask-tojson.html7
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/shared-renderer/longtask-in-new-window.html5
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/supported-longtask-types.window.js31
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html22
-rw-r--r--tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html2
-rw-r--r--tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html2
-rw-r--r--tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html2
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html6
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html18
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html8
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-buffered.html2
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-changetype.html8
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-closed.html16
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-duration.html6
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html6
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-liveseekable.html4
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-remove.html6
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html8
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps.html2
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html8
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html6
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html4
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-trackdefault.html2
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-trackdefaultlist.html4
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-creation.https.html6
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html2
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html16
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html6
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html6
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-streams/historical.https.html2
-rw-r--r--tests/wpt/web-platform-tests/mediasession/mediametadata.html14
-rw-r--r--tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js4
-rw-r--r--tests/wpt/web-platform-tests/native-file-system/native_FileSystemBaseHandle-postMessage-MessagePort-manual.https.tentative.html1
-rw-r--r--tests/wpt/web-platform-tests/native-file-system/sandboxed_FileSystemBaseHandle-postMessage-MessagePort.tentative.https.window.js3
-rw-r--r--tests/wpt/web-platform-tests/notifications/constructor-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.html162
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.worker.js162
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html46
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.worker.js46
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html10
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.worker.js10
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html10
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.worker.js10
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html150
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.worker.js150
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.html28
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js28
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.html92
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.worker.js92
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.html164
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.worker.js164
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.html6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.worker.js6
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html12
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.worker.js12
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.html2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html8
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html4
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.html4
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.w.html4
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.html8
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm8
-rw-r--r--tests/wpt/web-platform-tests/orientation-sensor/orientation-sensor-tests.js6
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/basetest.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/buffered-flag.window.js1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/child-painting-first-image.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-contentful-bg-image.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-contentful-canvas.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-contentful-image.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-contentful-paint.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-contentful-svg.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-image-child.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-paint-bg-color.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/first-paint-only.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/paint-visited.html6
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/sibling-painting-first-image.html1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/supported-paint-type.window.js35
-rw-r--r--tests/wpt/web-platform-tests/payment-method-id/payment-request-ctor-pmi-handling.https.html8
-rw-r--r--tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/complete-method.https.html2
-rw-r--r--tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/constructor.https.html6
-rw-r--r--tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html4
-rw-r--r--tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html4
-rw-r--r--tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html4
-rw-r--r--tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html4
-rw-r--r--tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https.html2
-rw-r--r--tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html8
-rw-r--r--tests/wpt/web-platform-tests/payment-request/historical.https.html2
-rw-r--r--tests/wpt/web-platform-tests/payment-request/payment-request-constructor.https.html44
-rw-r--r--tests/wpt/web-platform-tests/payment-request/payment-request-ctor-currency-code-checks.https.html32
-rw-r--r--tests/wpt/web-platform-tests/payment-request/payment-request-ctor-pmi-handling.https.html8
-rw-r--r--tests/wpt/web-platform-tests/performance-timeline/po-observe-type.any.js6
-rw-r--r--tests/wpt/web-platform-tests/performance-timeline/po-observe.any.js6
-rw-r--r--tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid.html2
-rw-r--r--tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid.html2
-rw-r--r--tests/wpt/web-platform-tests/portals/portal-activate-event-constructor.html2
-rw-r--r--tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationConnection_send-manual.https.html6
-rw-r--r--tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_error.https.html12
-rw-r--r--tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent.https.html2
-rw-r--r--tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent_multiple.https.html2
-rw-r--r--tests/wpt/web-platform-tests/presentation-api/controlling-ua/defaultRequest.https.html2
-rw-r--r--tests/wpt/web-platform-tests/presentation-api/receiving-ua/PresentationConnection_send-manual.https.html2
-rw-r--r--tests/wpt/web-platform-tests/priority-hints/fetch-api-request.tentative.any.js2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html36
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.keep-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.no-redirect.http.html35
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.swap-origin.http.html35
-rw-r--r--tests/wpt/web-platform-tests/resize-observer/observe.html2
-rw-r--r--tests/wpt/web-platform-tests/resources/idlharness.js4
-rw-r--r--tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html4
-rw-r--r--tests/wpt/web-platform-tests/resources/test/tests/unit/IdlDictionary/get_inheritance_stack.html2
-rw-r--r--tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html2
-rw-r--r--tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/traverse_inherited_and_consequential_interfaces.html4
-rw-r--r--tests/wpt/web-platform-tests/scroll-animations/constructor.html12
-rw-r--r--tests/wpt/web-platform-tests/scroll-animations/setting-current-time.html2
-rw-r--r--tests/wpt/web-platform-tests/selection/collapse.js4
-rw-r--r--tests/wpt/web-platform-tests/selection/collapseToStartEnd.html2
-rw-r--r--tests/wpt/web-platform-tests/selection/extend.js6
-rw-r--r--tests/wpt/web-platform-tests/selection/getRangeAt.html4
-rw-r--r--tests/wpt/web-platform-tests/selection/removeRange.html6
-rw-r--r--tests/wpt/web-platform-tests/selection/selectAllChildren.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js50
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/client-navigate.https.html4
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/detached-context.https.html6
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/multipart-image.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/resources/import-scripts-mime-types-worker.js2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/resources/service-worker-csp-worker.py8
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/Document-prototype-adoptNode.html2
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/Document-prototype-importNode.html2
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element.html14
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow.html18
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/Node-prototype-cloneNode.html4
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/ShadowRoot-interface.html2
-rw-r--r--tests/wpt/web-platform-tests/speech-api/SpeechSynthesisErrorEvent-constructor.html16
-rw-r--r--tests/wpt/web-platform-tests/speech-api/SpeechSynthesisEvent-constructor.html8
-rw-r--r--tests/wpt/web-platform-tests/std-toast/actions.html6
-rw-r--r--tests/wpt/web-platform-tests/std-toast/options.html4
-rw-r--r--tests/wpt/web-platform-tests/streams/byte-length-queuing-strategy.any.js12
-rw-r--r--tests/wpt/web-platform-tests/streams/count-queuing-strategy.any.js6
-rw-r--r--tests/wpt/web-platform-tests/streams/piping/pipe-through.any.js26
-rw-r--r--tests/wpt/web-platform-tests/streams/piping/throwing-options.any.js4
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-byte-streams/brand-checks.any.js8
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-byte-streams/construct-byob-request.any.js2
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-byte-streams/detached-buffers.any.js10
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-byte-streams/general.any.js44
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-byte-streams/properties.any.js6
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/async-iterator.any.js2
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/bad-strategies.any.js12
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/bad-underlying-sources.any.js26
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/brand-checks.any.js6
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/default-reader.any.js20
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/garbage-collection.any.js4
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/general.any.js24
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/reentrant-strategies.any.js2
-rw-r--r--tests/wpt/web-platform-tests/streams/resources/rs-test-templates.js20
-rw-r--r--tests/wpt/web-platform-tests/streams/resources/test-utils.js6
-rw-r--r--tests/wpt/web-platform-tests/streams/transform-streams/errors.any.js8
-rw-r--r--tests/wpt/web-platform-tests/streams/transform-streams/general.any.js8
-rw-r--r--tests/wpt/web-platform-tests/streams/transform-streams/strategies.any.js10
-rw-r--r--tests/wpt/web-platform-tests/streams/transform-streams/terminate.any.js2
-rw-r--r--tests/wpt/web-platform-tests/streams/writable-streams/bad-strategies.any.js10
-rw-r--r--tests/wpt/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.js16
-rw-r--r--tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js2
-rw-r--r--tests/wpt/web-platform-tests/streams/writable-streams/constructor.any.js8
-rw-r--r--tests/wpt/web-platform-tests/streams/writable-streams/general.any.js2
-rw-r--r--tests/wpt/web-platform-tests/streams/writable-streams/start.any.js2
-rw-r--r--tests/wpt/web-platform-tests/streams/writable-streams/write.any.js2
-rw-r--r--tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-exceptions.html4
-rw-r--r--tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-getStartTime.html4
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/pathLength-positive.svg3
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-mutating.svg15
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-negative.svg7
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-zero.svg7
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/pathlength-path.svg8
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect-mutating.svg17
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect.svg7
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-mutating-ref.svg5
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-negative-ref.svg5
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-ref.svg5
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-zero-ref.svg4
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-mutating-ref.svg3
-rw-r--r--tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-ref.svg5
-rw-r--r--tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedNumber.html8
-rw-r--r--tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-02.svg20
-rw-r--r--tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getTotalLength-01.svg14
-rw-r--r--tests/wpt/web-platform-tests/svg/types/scripted/SVGLength.html60
-rw-r--r--tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-basics.html64
-rw-r--r--tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-getItem.html8
-rw-r--r--tests/wpt/web-platform-tests/svg/types/scripted/resources/SVGLengthList-helper.js2
-rw-r--r--tests/wpt/web-platform-tests/tools/META.yml4
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/azure/pip_install.yml14
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/decision.py1
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml73
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py7
-rw-r--r--tests/wpt/web-platform-tests/tools/requirements_mypy.txt2
-rw-r--r--tests/wpt/web-platform-tests/tools/tox.ini13
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/browser.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/install.py1
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/tests/test_browser.py20
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/tests/test_revlist.py5
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/tests/test_run.py2
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py13
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/tox.ini3
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/wpt.py3
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt2
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/test/test.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/tox.ini4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox_android.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/metadata.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testloader.py8
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py8
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/update/tree.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/node.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptserve/tests/test_stash.py7
-rw-r--r--tests/wpt/web-platform-tests/tools/wptserve/wptserve/handlers.py17
-rw-r--r--tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py11
-rw-r--r--tests/wpt/web-platform-tests/touch-events/touch-touchevent-constructor.html18
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/DOMParser-parseFromString-regression.tentative.https.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP-no-name.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-createXXX.tentative.html20
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.tentative.html30
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-noNamesGiven.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-metadata.tentative.html6
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/Window-TrustedTypes.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-Node-multiple-arguments.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMParser-parseFromString.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMWindowTimers-setTimeout-setInterval.tentative.html8
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Document-write.tentative.html8
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-insertAdjacentHTML.tentative.html16
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-outerHTML.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttribute.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Range-createContextualFragment.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/csp-block-eval.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/default-policy-report-only.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/default-policy.tentative.html10
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/empty-default-policy.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/eval-csp-tt-no-default-policy.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/eval-with-permissive-csp.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/require-trusted-types-for.tentative.html8
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/support/WorkerGlobalScope-importScripts.https.js8
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/support/helper.sub.js6
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/trusted-types-createHTMLDocument.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names-list.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/trusted-types-eval-reporting.tentative.https.html2
-rw-r--r--tests/wpt/web-platform-tests/trusted-types/tt-block-eval.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/uievents/legacy/Event-subclasses-init.html2
-rw-r--r--tests/wpt/web-platform-tests/url/failure.html6
-rw-r--r--tests/wpt/web-platform-tests/url/historical.any.js2
-rw-r--r--tests/wpt/web-platform-tests/url/url-constructor.html2
-rw-r--r--tests/wpt/web-platform-tests/url/url-searchparams.any.js2
-rw-r--r--tests/wpt/web-platform-tests/user-timing/invoke_with_timing_attributes.html2
-rw-r--r--tests/wpt/web-platform-tests/user-timing/invoke_without_parameter.html4
-rw-r--r--tests/wpt/web-platform-tests/user-timing/mark-errors.any.js8
-rw-r--r--tests/wpt/web-platform-tests/user-timing/mark_exceptions.html4
-rw-r--r--tests/wpt/web-platform-tests/user-timing/measure-exceptions.html4
-rw-r--r--tests/wpt/web-platform-tests/user-timing/measure-with-dict.any.js8
-rw-r--r--tests/wpt/web-platform-tests/user-timing/measure_exceptions_navigation_timing.html8
-rw-r--r--tests/wpt/web-platform-tests/user-timing/measure_syntax_err.any.js8
-rw-r--r--tests/wpt/web-platform-tests/user-timing/performance-measure-invalid.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/user-timing/structured-serialize-detail.any.js4
-rw-r--r--tests/wpt/web-platform-tests/vibration/invalid-values.html2
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/constructor/validate.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/global/constructor.any.js12
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/global/value-get-set.any.js18
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/global/valueOf.any.js2
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js6
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/instance/exports.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/memory/buffer.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js16
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/memory/grow.any.js8
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/module/constructor.any.js6
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/module/customSections.any.js6
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/module/exports.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/module/imports.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js6
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/constructor.any.js18
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js26
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/grow-reftypes.tentative.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/grow.any.js8
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/length.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/serialization/arraybuffer/transfer.window.js2
-rw-r--r--tests/wpt/web-platform-tests/wasm/serialization/module/broadcastchannel-success.html2
-rw-r--r--tests/wpt/web-platform-tests/wasm/serialization/module/no-transferring.html12
-rw-r--r--tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-history.html4
-rw-r--r--tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-idb.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/webapi/historical.any.js2
-rw-r--r--tests/wpt/web-platform-tests/web-animations/README.md2
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/Animation/commitStyles.html14
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/Animation/pause.html2
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/Animation/play.html2
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/AnimationEffect/updateTiming.html10
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html2
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html10
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html4
-rw-r--r--tests/wpt/web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html8
-rw-r--r--tests/wpt/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html6
-rw-r--r--tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-current-time-of-an-animation.html4
-rw-r--r--tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html30
-rw-r--r--tests/wpt/web-platform-tests/web-share/canShare-files.tentative.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html64
-rw-r--r--tests/wpt/web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/test-constantsourcenode.html6
-rw-r--r--tests/wpt/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination.html4
-rw-r--r--tests/wpt/web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/test-iirfilternode.html2
-rw-r--r--tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-ctor.html8
-rw-r--r--tests/wpt/web-platform-tests/webauthn/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-badargs-attestation.https.html10
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html24
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html10
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-badargs-rp.https.html22
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-badargs-user.https.html49
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-excludecredentials.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-extensions.https.html14
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html14
-rw-r--r--tests/wpt/web-platform-tests/webauthn/createcredential-timeout.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html8
-rw-r--r--tests/wpt/web-platform-tests/webauthn/getcredential-extensions.https.html14
-rw-r--r--tests/wpt/web-platform-tests/webauthn/getcredential-timeout.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webauthn/helpers.js8
-rw-r--r--tests/wpt/web-platform-tests/webgl/compressedTexImage2D.html2
-rw-r--r--tests/wpt/web-platform-tests/webgl/compressedTexSubImage2D.html2
-rw-r--r--tests/wpt/web-platform-tests/webgl/texImage2D.html4
-rw-r--r--tests/wpt/web-platform-tests/webgl/texSubImage2D.html4
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_DataCloneErr.htm2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_clone_port_error.htm2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_ports_readonly_array.htm2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/MessageEvent.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/broadcastchannel/interface.html10
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/message-channels/close.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/postMessage_Document.htm2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/postMessage_Function.htm2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/postMessage_dup_transfer_objects.htm2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/postMessage_invalid_targetOrigin.htm2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/with-options/broken-origin.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/with-ports/001.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/with-ports/003.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/with-ports/025.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/with-ports/026.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/with-ports/027.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/without-ports/001.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/without-ports/003.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/without-ports/009.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/without-ports/024.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/without-ports/025-1.js2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/without-ports/025.html2
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/without-ports/026.html5
-rw-r--r--tests/wpt/web-platform-tests/webrtc-extensions/RTCRtpReceiver-playoutDelayHint.html4
-rw-r--r--tests/wpt/web-platform-tests/webrtc-quic/RTCQuicStream.https.html20
-rw-r--r--tests/wpt/web-platform-tests/webrtc-quic/RTCQuicTransport.https.html30
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCCertificate-postMessage.html2
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCCertificate.html6
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCConfiguration-bundlePolicy.html8
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html8
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html44
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceTransportPolicy.html6
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCConfiguration-rtcpMuxPolicy.html10
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html14
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCDataChannel-id.html4
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html4
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCDataChannelEvent-constructor.html12
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCError.html12
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCIceCandidate-constructor.html14
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCIceTransport-extension.https.html20
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.https.html8
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-constructor.html10
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html8
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html12
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html4
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor.html4
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCRtpSender-setStreams.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver-setCodecPreferences.html16
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCTrackEvent-constructor.html6
-rw-r--r--tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js10
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/Send-before-open.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/close-invalid.any.js2
-rw-r--r--tests/wpt/web-platform-tests/websockets/constructor/001.html2
-rw-r--r--tests/wpt/web-platform-tests/websockets/constructor/002.html20
-rw-r--r--tests/wpt/web-platform-tests/websockets/constructor/004.html6
-rw-r--r--tests/wpt/web-platform-tests/websockets/constructor/007.html2
-rw-r--r--tests/wpt/web-platform-tests/websockets/constructor/021.html2
-rw-r--r--tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/005.html2
-rw-r--r--tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/006.html2
-rw-r--r--tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/001.html2
-rw-r--r--tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/003.html2
-rw-r--r--tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/004.html6
-rw-r--r--tests/wpt/web-platform-tests/websockets/stream-tentative/close.any.js6
-rw-r--r--tests/wpt/web-platform-tests/websockets/stream-tentative/constructor.any.js10
-rw-r--r--tests/wpt/web-platform-tests/webstorage/missing_arguments.html2
-rw-r--r--tests/wpt/web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.html2
-rw-r--r--tests/wpt/web-platform-tests/webstorage/storage_session_setitem_quotaexceedederr.html2
-rw-r--r--tests/wpt/web-platform-tests/webstorage/storage_setitem.html4
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbConnectionEvent.https.any.js4
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbInTransferResult.https.any.js4
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferPacket.https.any.js4
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferResult.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferPacket.https.any.js4
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferResult.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/webusb/usbOutTransferResult.https.any.js4
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTCue/position.html2
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTCue/size.html2
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTRegion/constructor.html21
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorX.html2
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorY.html2
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorX.html2
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorY.html2
-rw-r--r--tests/wpt/web-platform-tests/webvtt/api/VTTRegion/width.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/events_session_select.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrDevice_requestSession_no_mode.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrRigidTransform_constructor.https.html4
-rw-r--r--tests/wpt/web-platform-tests/workers/SharedWorker-constructor.html6
-rw-r--r--tests/wpt/web-platform-tests/workers/Worker-formdata.any.js2
-rw-r--r--tests/wpt/web-platform-tests/workers/Worker-multi-port.html10
-rw-r--r--tests/wpt/web-platform-tests/workers/Worker_cross_origin_security_err.htm4
-rw-r--r--tests/wpt/web-platform-tests/workers/constructors/SharedWorker/no-arguments-ctor.html2
-rw-r--r--tests/wpt/web-platform-tests/workers/constructors/SharedWorker/same-origin.html4
-rw-r--r--tests/wpt/web-platform-tests/workers/constructors/SharedWorker/undefined-arguments.html4
-rw-r--r--tests/wpt/web-platform-tests/workers/constructors/SharedWorker/unresolvable-url.html2
-rw-r--r--tests/wpt/web-platform-tests/workers/constructors/Worker/Worker-constructor.html6
-rw-r--r--tests/wpt/web-platform-tests/workers/constructors/Worker/same-origin.html4
-rw-r--r--tests/wpt/web-platform-tests/workers/importscripts_mime.any.js2
-rw-r--r--tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/002.worker.js2
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html4
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-meta.html4
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/dedicated-worker-options-type.html8
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js22
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-export.js1
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-worker.js11
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/shared-worker-import-failure.html8
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/shared-worker-import-meta.html49
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/shared-worker-options-type.html8
-rw-r--r--tests/wpt/web-platform-tests/workers/postMessage_clone_port_error.htm2
-rw-r--r--tests/wpt/web-platform-tests/workers/postMessage_ports_readonly_array.htm2
-rw-r--r--tests/wpt/web-platform-tests/workers/support/ImportScriptsNosniffErr.js2
-rwxr-xr-xtests/wpt/web-platform-tests/wpt9
-rw-r--r--tests/wpt/web-platform-tests/x-frame-options/deny.sub.html27
-rw-r--r--tests/wpt/web-platform-tests/x-frame-options/support/xfo.py7
-rw-r--r--tests/wpt/web-platform-tests/xhr/FormData-append.html4
-rw-r--r--tests/wpt/web-platform-tests/xhr/XMLHttpRequest-withCredentials.any.js6
-rw-r--r--tests/wpt/web-platform-tests/xhr/access-control-basic-denied.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/access-control-basic-get-fail-non-simple.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/access-control-basic-non-cors-safelisted-content-type.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/access-control-basic-post-with-non-cors-safelisted-content-type.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-header-denied.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-method-denied.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-not-supported.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/formdata-blob.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/formdata-set.htm4
-rw-r--r--tests/wpt/web-platform-tests/xhr/formdata.htm6
-rw-r--r--tests/wpt/web-platform-tests/xhr/headers-normalize-response.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/loadstart-and-state.html6
-rw-r--r--tests/wpt/web-platform-tests/xhr/open-method-bogus.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/open-method-insecure.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/open-method-responsetype-set-sync.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/open-url-multi-window-2.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/open-url-multi-window-3.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/open-url-multi-window-5.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/open-url-multi-window-6.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/overridemimetype-done-state.any.js2
-rw-r--r--tests/wpt/web-platform-tests/xhr/overridemimetype-loading-state.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/progressevent-interface.html4
-rw-r--r--tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-2.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-helper.js5
-rw-r--r--tests/wpt/web-platform-tests/xhr/responsetype.any.js8
-rw-r--r--tests/wpt/web-platform-tests/xhr/responsexml-non-document-types.htm4
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-authentication-basic-cors-not-enabled.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-data-es-object.any.js17
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-data-readablestream.any.js2
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-data-unexpected-tostring.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm4
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-non-same-origin.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-redirect-bogus-sync.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-redirect-infinite-sync.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/send-send.any.js2
-rw-r--r--tests/wpt/web-platform-tests/xhr/setrequestheader-after-send.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/setrequestheader-before-open.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-name.htm4
-rw-r--r--tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-value.htm6
-rw-r--r--tests/wpt/web-platform-tests/xhr/timeout-sync.htm4
-rw-r--r--tests/wpt/web-platform-tests/xhr/xmlhttprequest-network-error-sync.htm2
-rw-r--r--tests/wpt/web-platform-tests/xhr/xmlhttprequest-unsent.htm4
4828 files changed, 87676 insertions, 41616 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 7d506aa5cea..30bcbebc207 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -8367,558 +8367,6 @@
{}
]
],
- "css/css-regions/animations/animations-001.html": [
- [
- "css/css-regions/animations/animations-001.html",
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-012.html": [
- [
- "css/css-regions/contentEditable/contentEditable-012.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-002.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-003.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-004.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-005.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-005.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-006.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-006.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-007.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-007.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-008.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-008.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-009.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-009.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-010.html": [
- [
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-010.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-cursor-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-cursor-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-cursor-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-cursor-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-004.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-005.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-005.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-004.html": [
- [
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/elementFromPoint-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/elementFromPoint-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/elementFromPoint-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/elementFromPoint-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-004.html": [
- [
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-005.html": [
- [
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-005.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-006.html": [
- [
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-006.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/mouse-events-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/mouse-events-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/mouse-events-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-004.html": [
- [
- "css/css-regions/interactivity/hit-testing/mouse-events-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-005.html": [
- [
- "css/css-regions/interactivity/hit-testing/mouse-events-005.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-events-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-events-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-events-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-events-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-events-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-events-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-001.html": [
- [
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-002.html": [
- [
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-003.html": [
- [
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html": [
- [
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-001.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-002.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-003.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-004.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-005.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-005.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-006.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-006.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-007.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-007.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-008.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-008.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-009.html": [
- [
- "css/css-regions/interactivity/mouse/regions-mouse-events-009.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-001.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-001.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-002.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-002.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-003.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-003.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-004.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-004.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-005.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-005.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-006.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-006.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-007.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-007.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-008.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-008.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-009.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-009.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-010.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-010.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-011.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-011.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-012.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-012.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-013.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-013.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-014.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-014.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-015.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-015.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-016.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-016.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-017.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-017.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-018.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-018.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-019.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-019.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-020.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-020.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-021.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-021.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-022.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-022.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-023.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-023.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-024.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-024.html",
- {}
- ]
- ],
- "css/css-regions/interactivity/selection/regions-selection-025.html": [
- [
- "css/css-regions/interactivity/selection/regions-selection-025.html",
- {}
- ]
- ],
"css/css-scroll-snap/snap-at-user-scroll-end-manual.html": [
[
"css/css-scroll-snap/snap-at-user-scroll-end-manual.html",
@@ -115853,6 +115301,18 @@
{}
]
],
+ "css/css-content/element-replacement-dynamic.html": [
+ [
+ "css/css-content/element-replacement-dynamic.html",
+ [
+ [
+ "/css/css-content/element-replacement-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-content/element-replacement.html": [
[
"css/css-content/element-replacement.html",
@@ -119465,6 +118925,18 @@
{}
]
],
+ "css/css-flexbox/dynamic-change-simplified-layout-002.html": [
+ [
+ "css/css-flexbox/dynamic-change-simplified-layout-002.html",
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-flexbox/dynamic-change-simplified-layout.html": [
[
"css/css-flexbox/dynamic-change-simplified-layout.html",
@@ -124556,7 +124028,7 @@
"css/css-fonts/font-synthesis-05.html",
[
[
- "/css/css-fonts/font-synthesis-03-ref.html",
+ "/css/css-fonts/font-synthesis-05-ref.html",
"=="
]
],
@@ -127395,6 +126867,18 @@
{}
]
],
+ "css/css-grid/chrome-bug-001.html": [
+ [
+ "css/css-grid/chrome-bug-001.html",
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-grid/grid-child-percent-basis-resize-1.html": [
[
"css/css-grid/grid-child-percent-basis-resize-1.html",
@@ -130611,6 +130095,54 @@
{}
]
],
+ "css/css-layout-api/baseline/child-baseline.https.html": [
+ [
+ "css/css-layout-api/baseline/child-baseline.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/baseline/flex-baseline.https.html": [
+ [
+ "css/css-layout-api/baseline/flex-baseline.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/baseline/no-baseline.https.html": [
+ [
+ "css/css-layout-api/baseline/no-baseline.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/baseline/orthogonal-baseline.https.html": [
+ [
+ "css/css-layout-api/baseline/orthogonal-baseline.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-layout-api/box-tree-registered.https.html": [
[
"css/css-layout-api/box-tree-registered.https.html",
@@ -141319,6 +140851,18 @@
{}
]
],
+ "css/css-pseudo/marker-content-020.html": [
+ [
+ "css/css-pseudo/marker-content-020.html",
+ [
+ [
+ "/css/css-pseudo/marker-content-020-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-pseudo/marker-display-dynamic-001.html": [
[
"css/css-pseudo/marker-display-dynamic-001.html",
@@ -141523,2338 +141067,6 @@
{}
]
],
- "css/css-regions/contentEditable/contentEditable-001.html": [
- [
- "css/css-regions/contentEditable/contentEditable-001.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-002.html": [
- [
- "css/css-regions/contentEditable/contentEditable-002.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-003.html": [
- [
- "css/css-regions/contentEditable/contentEditable-003.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-004.html": [
- [
- "css/css-regions/contentEditable/contentEditable-004.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-005.html": [
- [
- "css/css-regions/contentEditable/contentEditable-005.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-006.html": [
- [
- "css/css-regions/contentEditable/contentEditable-006.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-007.html": [
- [
- "css/css-regions/contentEditable/contentEditable-007.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-007-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-008.html": [
- [
- "css/css-regions/contentEditable/contentEditable-008.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-009.html": [
- [
- "css/css-regions/contentEditable/contentEditable-009.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-010.html": [
- [
- "css/css-regions/contentEditable/contentEditable-010.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-010-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/contentEditable/contentEditable-011.html": [
- [
- "css/css-regions/contentEditable/contentEditable-011.html",
- [
- [
- "/css/css-regions/contentEditable/reference/contentEditable-011-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-001.html": [
- [
- "css/css-regions/counters/extract-list-items-001.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-002.html": [
- [
- "css/css-regions/counters/extract-list-items-002.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-003.html": [
- [
- "css/css-regions/counters/extract-list-items-003.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-004.html": [
- [
- "css/css-regions/counters/extract-list-items-004.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-005.html": [
- [
- "css/css-regions/counters/extract-list-items-005.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-006.html": [
- [
- "css/css-regions/counters/extract-list-items-006.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-007.html": [
- [
- "css/css-regions/counters/extract-list-items-007.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-007-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-008.html": [
- [
- "css/css-regions/counters/extract-list-items-008.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-009.html": [
- [
- "css/css-regions/counters/extract-list-items-009.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-010.html": [
- [
- "css/css-regions/counters/extract-list-items-010.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-011.html": [
- [
- "css/css-regions/counters/extract-list-items-011.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-012.html": [
- [
- "css/css-regions/counters/extract-list-items-012.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-012-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-013.html": [
- [
- "css/css-regions/counters/extract-list-items-013.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-014.html": [
- [
- "css/css-regions/counters/extract-list-items-014.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-014-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-list-items-015.html": [
- [
- "css/css-regions/counters/extract-list-items-015.html",
- [
- [
- "/css/css-regions/counters/reference/extract-list-items-015-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-numbered-paragraphs-divs-001.html": [
- [
- "css/css-regions/counters/extract-numbered-paragraphs-divs-001.html",
- [
- [
- "/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-numbered-paragraphs-divs-002.html": [
- [
- "css/css-regions/counters/extract-numbered-paragraphs-divs-002.html",
- [
- [
- "/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-numbered-paragraphs.html": [
- [
- "css/css-regions/counters/extract-numbered-paragraphs.html",
- [
- [
- "/css/css-regions/counters/reference/extract-numbered-paragraphs-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-numbered-spans-display-only-some.html": [
- [
- "css/css-regions/counters/extract-numbered-spans-display-only-some.html",
- [
- [
- "/css/css-regions/counters/reference/extract-numbered-spans-display-only-some-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-001.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-001.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-002.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-002.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-003.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-003.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html": [
- [
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html",
- [
- [
- "/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/counters/extract-unordered-lists-in-regions.html": [
- [
- "css/css-regions/counters/extract-unordered-lists-in-regions.html",
- [
- [
- "/css/css-regions/counters/reference/extract-unordered-lists-in-regions-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/elements/canvas3d-001.html": [
- [
- "css/css-regions/elements/canvas3d-001.html",
- [
- [
- "/css/css-regions/elements/reference/canvas3d-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/elements/canvas3d-002.html": [
- [
- "css/css-regions/elements/canvas3d-002.html",
- [
- [
- "/css/css-regions/elements/reference/canvas3d-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/elements/iframe-001.html": [
- [
- "css/css-regions/elements/iframe-001.html",
- [
- [
- "/css/css-regions/elements/reference/iframe-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-flexbox-001.html": [
- [
- "css/css-regions/flexbox/autoheight-flexbox-001.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-flexbox-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-flexbox-002.html": [
- [
- "css/css-regions/flexbox/autoheight-flexbox-002.html",
- [
- [
- "/css/css-regions/flexbox/reference/regions-flexbox-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-flexbox-003.html": [
- [
- "css/css-regions/flexbox/autoheight-flexbox-003.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-flexbox-004.html": [
- [
- "css/css-regions/flexbox/autoheight-flexbox-004.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html": [
- [
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html",
- [
- [
- "/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/column-flexbox-break.html": [
- [
- "css/css-regions/flexbox/column-flexbox-break.html",
- [
- [
- "/css/css-regions/flexbox/reference/column-flexbox-break-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/regions-flexbox-001.html": [
- [
- "css/css-regions/flexbox/regions-flexbox-001.html",
- [
- [
- "/css/css-regions/flexbox/reference/regions-flexbox-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/regions-flexbox-002.html": [
- [
- "css/css-regions/flexbox/regions-flexbox-002.html",
- [
- [
- "/css/css-regions/flexbox/reference/regions-flexbox-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/regions-flexbox-003.html": [
- [
- "css/css-regions/flexbox/regions-flexbox-003.html",
- [
- [
- "/css/css-regions/flexbox/reference/regions-flexbox-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/regions-flexbox-004.html": [
- [
- "css/css-regions/flexbox/regions-flexbox-004.html",
- [
- [
- "/css/css-regions/flexbox/reference/regions-flexbox-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/row-flexbox-break.html": [
- [
- "css/css-regions/flexbox/row-flexbox-break.html",
- [
- [
- "/css/css-regions/flexbox/reference/row-flexbox-break-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flexbox/visibility-regions-in-flexbox.html": [
- [
- "css/css-regions/flexbox/visibility-regions-in-flexbox.html",
- [
- [
- "/css/css-regions/flexbox/reference/visibility-regions-in-flexbox-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floated-regions-001.html": [
- [
- "css/css-regions/floats/floated-regions-001.html",
- [
- [
- "/css/css-regions/floats/reference/floated-regions-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floated-regions-002.html": [
- [
- "css/css-regions/floats/floated-regions-002.html",
- [
- [
- "/css/css-regions/floats/reference/floated-regions-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floated-regions-003.html": [
- [
- "css/css-regions/floats/floated-regions-003.html",
- [
- [
- "/css/css-regions/floats/reference/floated-regions-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floated-regions-004.html": [
- [
- "css/css-regions/floats/floated-regions-004.html",
- [
- [
- "/css/css-regions/floats/reference/floated-regions-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floated-regions-005.html": [
- [
- "css/css-regions/floats/floated-regions-005.html",
- [
- [
- "/css/css-regions/floats/reference/floated-regions-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-clear-breaks-001.html": [
- [
- "css/css-regions/floats/floats-clear-breaks-001.html",
- [
- [
- "/css/css-regions/floats/reference/floats-clear-breaks-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-clear-breaks-002.html": [
- [
- "css/css-regions/floats/floats-clear-breaks-002.html",
- [
- [
- "/css/css-regions/floats/reference/floats-clear-breaks-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-001.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-001.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-002.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-002.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-003.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-003.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-004.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-004.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-005.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-005.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-006.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-006.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-007.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-007.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-008.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-008.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-009.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-009.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-010.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-010.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-011.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-011.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-011-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-012.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-012.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-012-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-013.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-013.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-013-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-014.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-014.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-013-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-015.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-015.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-013-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-016.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-016.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-016-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-017.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-017.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-017-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-018.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-018.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-018-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-019.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-019.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-018-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-020.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-020.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-020-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-021.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-021.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-021-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-022.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-022.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-021-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-023.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-023.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-023-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-024.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-024.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-024-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-025.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-025.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-025-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-026.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-026.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-026-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-027.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-027.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-027-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-028.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-028.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-023-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-029.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-029.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-029-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-030.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-030.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-030-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-031.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-031.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-031-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-032.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-032.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-032-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/floats/floats-in-named-flow-033.html": [
- [
- "css/css-regions/floats/floats-in-named-flow-033.html",
- [
- [
- "/css/css-regions/floats/reference/floats-in-named-flow-033-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-content-001.xht": [
- [
- "css/css-regions/flow-content-001.xht",
- [
- [
- "/css/css-regions/flow-content-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-content-002.xht": [
- [
- "css/css-regions/flow-content-002.xht",
- [
- [
- "/css/css-regions/flow-content-002-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-from-001.xht": [
- [
- "css/css-regions/flow-from-001.xht",
- [
- [
- "/css/css-regions/flow-from-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-from-block-container-001.xht": [
- [
- "css/css-regions/flow-from-block-container-001.xht",
- [
- [
- "/css/css-regions/flow-from-block-container-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-into-001.xht": [
- [
- "css/css-regions/flow-into-001.xht",
- [
- [
- "/css/css-regions/flow-into-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-into-BFC-001.xht": [
- [
- "css/css-regions/flow-into-BFC-001.xht",
- [
- [
- "/css/css-regions/flow-into-BFC-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-into-invalid-names-001.xht": [
- [
- "css/css-regions/flow-into-invalid-names-001.xht",
- [
- [
- "/css/css-regions/flow-into-invalid-names-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/flow-into-region-children-001.xht": [
- [
- "css/css-regions/flow-into-region-children-001.xht",
- [
- [
- "/css/css-regions/flow-into-region-children-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-001.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-001.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-002.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-002.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-003.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-003.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-004.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-004.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-005.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-005.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-006.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-006.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-007.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-007.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-008.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-008.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-009.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-009.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-010.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-010.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-011.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-011.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-012.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-012.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-013.html": [
- [
- "css/css-regions/interactivity/resizing/regions-resizing-013.html",
- [
- [
- "/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-003.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-003.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-004.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-004.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-006.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-006.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-008.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-008.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-009.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-009.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-011.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-011.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-012.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-012.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-012-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-013.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-013.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-013-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-015.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-015.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-013-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-016.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-016.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-016-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-017.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-017.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-017-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-019.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-019.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-019-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-021.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-021.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-019-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-022.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-022.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-023.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-023.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-024.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-024.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-025.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-025.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-026.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-026.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-027.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-027.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-028.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-028.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-028-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/multicolumn/regions-multicol-029.html": [
- [
- "css/css-regions/multicolumn/regions-multicol-029.html",
- [
- [
- "/css/css-regions/multicolumn/reference/regions-multicol-028-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/positioned-content/position-relative-001.html": [
- [
- "css/css-regions/positioned-content/position-relative-001.html",
- [
- [
- "/css/css-regions/positioned-content/reference/position-relative-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/region-fragment-001.xht": [
- [
- "css/css-regions/region-fragment-001.xht",
- [
- [
- "/css/css-regions/region-fragment-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/region-fragment-002.xht": [
- [
- "css/css-regions/region-fragment-002.xht",
- [
- [
- "/css/css-regions/region-fragment-002-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/region-fragment-break-1.html": [
- [
- "css/css-regions/region-fragment-break-1.html",
- [
- [
- "/css/css-regions/reference/region-fragment-break-1-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/region-stacking-context-001.xht": [
- [
- "css/css-regions/region-stacking-context-001.xht",
- [
- [
- "/css/css-regions/region-stacking-context-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/region-styling-001.xht": [
- [
- "css/css-regions/region-styling-001.xht",
- [
- [
- "/css/css-regions/region-styling-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/content-node-layers-001.html": [
- [
- "css/css-regions/stacking-context/content-node-layers-001.html",
- [
- [
- "/css/css-regions/stacking-context/reference/content-node-layers-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/content-node-layers-002.html": [
- [
- "css/css-regions/stacking-context/content-node-layers-002.html",
- [
- [
- "/css/css-regions/stacking-context/reference/content-node-layers-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/content-node-layers-003.html": [
- [
- "css/css-regions/stacking-context/content-node-layers-003.html",
- [
- [
- "/css/css-regions/stacking-context/reference/content-node-layers-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/content-node-layers-004.html": [
- [
- "css/css-regions/stacking-context/content-node-layers-004.html",
- [
- [
- "/css/css-regions/stacking-context/reference/content-node-layers-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/content-node-layers-005.html": [
- [
- "css/css-regions/stacking-context/content-node-layers-005.html",
- [
- [
- "/css/css-regions/stacking-context/reference/content-node-layers-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-dialog-001.html": [
- [
- "css/css-regions/stacking-context/regions-dialog-001.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-dialog-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-dialog-002.html": [
- [
- "css/css-regions/stacking-context/regions-dialog-002.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-dialog-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-layers-001.html": [
- [
- "css/css-regions/stacking-context/regions-layers-001.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-layers-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-layers-002.html": [
- [
- "css/css-regions/stacking-context/regions-layers-002.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-layers-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-layers-003.html": [
- [
- "css/css-regions/stacking-context/regions-layers-003.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-layers-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-modal-dialog-001.html": [
- [
- "css/css-regions/stacking-context/regions-modal-dialog-001.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-modal-dialog-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-modal-dialog-002.html": [
- [
- "css/css-regions/stacking-context/regions-modal-dialog-002.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-modal-dialog-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-stacking-context-001.html": [
- [
- "css/css-regions/stacking-context/regions-stacking-context-001.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-stacking-context-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-stacking-context-002.html": [
- [
- "css/css-regions/stacking-context/regions-stacking-context-002.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-stacking-context-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-stacking-context-003.html": [
- [
- "css/css-regions/stacking-context/regions-stacking-context-003.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-stacking-context-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-stacking-context-004.html": [
- [
- "css/css-regions/stacking-context/regions-stacking-context-004.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-stacking-context-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/stacking-context/regions-stacking-context-005.html": [
- [
- "css/css-regions/stacking-context/regions-stacking-context-005.html",
- [
- [
- "/css/css-regions/stacking-context/reference/regions-stacking-context-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-001.html": [
- [
- "css/css-regions/transforms/regions-transforms-001.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-002.html": [
- [
- "css/css-regions/transforms/regions-transforms-002.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-003.html": [
- [
- "css/css-regions/transforms/regions-transforms-003.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-004.html": [
- [
- "css/css-regions/transforms/regions-transforms-004.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-005.html": [
- [
- "css/css-regions/transforms/regions-transforms-005.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-006.html": [
- [
- "css/css-regions/transforms/regions-transforms-006.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-007.html": [
- [
- "css/css-regions/transforms/regions-transforms-007.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-008.html": [
- [
- "css/css-regions/transforms/regions-transforms-008.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-009.html": [
- [
- "css/css-regions/transforms/regions-transforms-009.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-010.html": [
- [
- "css/css-regions/transforms/regions-transforms-010.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-010-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-011.html": [
- [
- "css/css-regions/transforms/regions-transforms-011.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-010-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-012.html": [
- [
- "css/css-regions/transforms/regions-transforms-012.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-010-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-013.html": [
- [
- "css/css-regions/transforms/regions-transforms-013.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-013-ref.html",
- "=="
- ],
- [
- "/css/css-regions/transforms/reference/regions-transforms-013-alt-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-014.html": [
- [
- "css/css-regions/transforms/regions-transforms-014.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-014-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-015.html": [
- [
- "css/css-regions/transforms/regions-transforms-015.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-014-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-016.html": [
- [
- "css/css-regions/transforms/regions-transforms-016.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-016-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-017.html": [
- [
- "css/css-regions/transforms/regions-transforms-017.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-017-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-018.html": [
- [
- "css/css-regions/transforms/regions-transforms-018.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-018-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-019.html": [
- [
- "css/css-regions/transforms/regions-transforms-019.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-019-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-020.html": [
- [
- "css/css-regions/transforms/regions-transforms-020.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-020-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-021.html": [
- [
- "css/css-regions/transforms/regions-transforms-021.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-020-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/transforms/regions-transforms-022.html": [
- [
- "css/css-regions/transforms/regions-transforms-022.html",
- [
- [
- "/css/css-regions/transforms/reference/regions-transforms-020-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/variable-width-001.xht": [
- [
- "css/css-regions/variable-width-001.xht",
- [
- [
- "/css/css-regions/variable-width-001-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-regions/writing-modes/extract-ordered-list-direction-and-writing-modes.html": [
- [
- "css/css-regions/writing-modes/extract-ordered-list-direction-and-writing-modes.html",
- [
- [
- "/css/css-regions/writing-modes/reference/extract-ordered-list-direction-and-writing-modes-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
"css/css-rhythm/line-height-step-basic-001.html": [
[
"css/css-rhythm/line-height-step-basic-001.html",
@@ -158231,6 +155443,78 @@
{}
]
],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html": [
+ [
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html",
+ [
+ [
+ "/css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html": [
+ [
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html",
+ [
+ [
+ "/css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html": [
+ [
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html",
+ [
+ [
+ "/css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html": [
+ [
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html",
+ [
+ [
+ "/css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html": [
+ [
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html",
+ [
+ [
+ "/css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html": [
+ [
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html",
+ [
+ [
+ "/css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/white-space/white-space-wrap-after-nowrap-001.html": [
[
"css/css-text/white-space/white-space-wrap-after-nowrap-001.html",
@@ -209885,6 +207169,18 @@
{}
]
],
+ "mathml/presentation-markup/spaces/space-vertical-align.tentative.html": [
+ [
+ "mathml/presentation-markup/spaces/space-vertical-align.tentative.html",
+ [
+ [
+ "/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"mathml/presentation-markup/tokens/ms-001.html": [
[
"mathml/presentation-markup/tokens/ms-001.html",
@@ -211877,6 +209173,78 @@
{}
]
],
+ "svg/path/distance/pathlength-path-mutating.svg": [
+ [
+ "svg/path/distance/pathlength-path-mutating.svg",
+ [
+ [
+ "/svg/path/distance/reference/pathlength-path-mutating-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg/path/distance/pathlength-path-negative.svg": [
+ [
+ "svg/path/distance/pathlength-path-negative.svg",
+ [
+ [
+ "/svg/path/distance/reference/pathlength-path-negative-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg/path/distance/pathlength-path-zero.svg": [
+ [
+ "svg/path/distance/pathlength-path-zero.svg",
+ [
+ [
+ "/svg/path/distance/reference/pathlength-path-zero-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg/path/distance/pathlength-path.svg": [
+ [
+ "svg/path/distance/pathlength-path.svg",
+ [
+ [
+ "/svg/path/distance/reference/pathlength-path-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg/path/distance/pathlength-rect-mutating.svg": [
+ [
+ "svg/path/distance/pathlength-rect-mutating.svg",
+ [
+ [
+ "/svg/path/distance/reference/pathlength-rect-mutating-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg/path/distance/pathlength-rect.svg": [
+ [
+ "svg/path/distance/pathlength-rect.svg",
+ [
+ [
+ "/svg/path/distance/reference/pathlength-rect-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"svg/path/error-handling/render-until-error.svg": [
[
"svg/path/error-handling/render-until-error.svg",
@@ -218685,15 +216053,33 @@
"client-hints/META.yml": [
[]
],
+ "client-hints/accept-ch-answers.sub.https.html.headers": [
+ []
+ ],
"client-hints/accept-ch-cache-revalidation.https.html.headers": [
[]
],
"client-hints/accept-ch-feature-policy-navigation.https.html.headers": [
[]
],
+ "client-hints/accept-ch-feature-policy.sub.https.html.headers": [
+ []
+ ],
+ "client-hints/accept-ch-malformed-header.https.html.headers": [
+ []
+ ],
"client-hints/accept-ch-no-feature-policy-navigation.https.html.headers": [
[]
],
+ "client-hints/accept-ch-no-feature-policy.sub.https.html.headers": [
+ []
+ ],
+ "client-hints/accept-ch-non-secure.http.html.headers": [
+ []
+ ],
+ "client-hints/accept-ch-stickiness/README.md": [
+ []
+ ],
"client-hints/accept-ch-stickiness/resources/accept-ch-test.js": [
[]
],
@@ -218724,37 +216110,37 @@
"client-hints/accept-ch-stickiness/resources/http-equiv-accept-ch.html.headers": [
[]
],
- "client-hints/accept_ch.http.html.headers": [
+ "client-hints/resources/accept-ch-different.html": [
[]
],
- "client-hints/accept_ch.tentative.sub.https.html.headers": [
+ "client-hints/resources/accept-ch-different.html.headers": [
[]
],
- "client-hints/accept_ch_feature_policy.tentative.sub.https.html.headers": [
+ "client-hints/resources/accept-ch-empty.html": [
[]
],
- "client-hints/accept_ch_malformed_header.https.html.headers": [
+ "client-hints/resources/accept-ch-empty.html.headers": [
[]
],
- "client-hints/accept_ch_no_feature_policy.tentative.sub.https.html.headers": [
+ "client-hints/resources/accept-ch.html": [
[]
],
- "client-hints/echo_client_hints_received.py": [
+ "client-hints/resources/accept-ch.html.headers": [
[]
],
- "client-hints/echo_ua_client_hints_received.py": [
+ "client-hints/resources/echo-client-hints-received.py": [
[]
],
- "client-hints/resources/accept_ch.html": [
+ "client-hints/resources/echo-ua-client-hints-received.py": [
[]
],
- "client-hints/resources/accept_ch.html.headers": [
+ "client-hints/resources/expect-client-hints-headers-iframe.py": [
[]
],
- "client-hints/resources/expect-client-hints-headers-iframe.py": [
+ "client-hints/resources/expect-client-hints-headers.html": [
[]
],
- "client-hints/resources/expect_client_hints_headers.html": [
+ "client-hints/resources/expect-different-client-hints-headers.html": [
[]
],
"client-hints/resources/feature-policy-navigation.js": [
@@ -218766,6 +216152,9 @@
"client-hints/resources/iframe-accept-ch-lifetime.html.headers": [
[]
],
+ "client-hints/resources/open-and-add-load-event.js": [
+ []
+ ],
"client-hints/resources/sec-ch-ua.py": [
[]
],
@@ -257988,6 +255377,9 @@
"css/css-pseudo/marker-content-019-ref.html": [
[]
],
+ "css/css-pseudo/marker-content-020-ref.html": [
+ []
+ ],
"css/css-pseudo/marker-font-properties-ref.html": [
[]
],
@@ -258015,645 +255407,6 @@
"css/css-pseudo/textpath-selection-011-ref.html": [
[]
],
- "css/css-regions/META.yml": [
- []
- ],
- "css/css-regions/animations/reference/animations-001-ref.html": [
- []
- ],
- "css/css-regions/animations/support/animations.css": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-001-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-002-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-003-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-004-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-005-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-006-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-007-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-008-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-010-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/reference/contentEditable-011-ref.html": [
- []
- ],
- "css/css-regions/contentEditable/support/common.css": [
- []
- ],
- "css/css-regions/contentEditable/support/helpers.js": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-001-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-002-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-003-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-004-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-005-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-006-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-007-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-008-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-009-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-012-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-013-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-014-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-list-items-015-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-numbered-paragraphs-divs-001-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-numbered-paragraphs-divs-002-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-numbered-paragraphs-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-numbered-spans-display-only-some-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-001-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-003-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html": [
- []
- ],
- "css/css-regions/counters/reference/extract-unordered-lists-in-regions-ref.html": [
- []
- ],
- "css/css-regions/elements/reference/canvas3d-001-ref.html": [
- []
- ],
- "css/css-regions/elements/reference/canvas3d-002-ref.html": [
- []
- ],
- "css/css-regions/elements/reference/iframe-001-ref.html": [
- []
- ],
- "css/css-regions/elements/support/3d-filler.html": [
- []
- ],
- "css/css-regions/elements/support/Three.js": [
- []
- ],
- "css/css-regions/elements/support/green-at-15.mp4": [
- []
- ],
- "css/css-regions/elements/support/green-at-15.ogv": [
- []
- ],
- "css/css-regions/elements/support/static-cube.js": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-flexbox-001-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-flexbox-002-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-001-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-002-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-003-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-004-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/column-flexbox-break-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/regions-flexbox-001-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/regions-flexbox-002-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/row-flexbox-break-ref.html": [
- []
- ],
- "css/css-regions/flexbox/reference/visibility-regions-in-flexbox-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floated-regions-001-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floated-regions-002-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floated-regions-003-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floated-regions-004-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floated-regions-005-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-clear-breaks-001-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-clear-breaks-002-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-001-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-002-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-003-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-004-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-005-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-006-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-009-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-011-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-012-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-013-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-016-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-017-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-018-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-020-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-021-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-023-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-024-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-025-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-026-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-027-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-029-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-030-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-031-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-032-ref.html": [
- []
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-033-ref.html": [
- []
- ],
- "css/css-regions/flow-content-001-ref.xht": [
- []
- ],
- "css/css-regions/flow-content-002-ref.xht": [
- []
- ],
- "css/css-regions/flow-from-001-ref.xht": [
- []
- ],
- "css/css-regions/flow-from-block-container-001-ref.xht": [
- []
- ],
- "css/css-regions/flow-into-001-ref.xht": [
- []
- ],
- "css/css-regions/flow-into-BFC-001-ref.xht": [
- []
- ],
- "css/css-regions/flow-into-invalid-names-001-ref.xht": [
- []
- ],
- "css/css-regions/flow-into-region-children-001-ref.xht": [
- []
- ],
- "css/css-regions/interactivity/full-screen/support/cat.jpg": [
- []
- ],
- "css/css-regions/interactivity/full-screen/support/common.css": [
- []
- ],
- "css/css-regions/interactivity/full-screen/support/green-at-15.mp4": [
- []
- ],
- "css/css-regions/interactivity/full-screen/support/green-at-15.ogv": [
- []
- ],
- "css/css-regions/interactivity/full-screen/support/util.js": [
- []
- ],
- "css/css-regions/interactivity/keyboard/support/css/regions-keyboard.css": [
- []
- ],
- "css/css-regions/interactivity/keyboard/support/js/regions-keyboard-events-test-helper.js": [
- []
- ],
- "css/css-regions/interactivity/mouse/support/css/regions-mouse-events.css": [
- []
- ],
- "css/css-regions/interactivity/mouse/support/js/regions-mouse-events-test-helper.js": [
- []
- ],
- "css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/reference/regions-resizing-005-ref.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/support/2-80px-block-ref.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/support/80px-block-float-ref.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/support/80px-block-ref.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/support/region-in-body.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/support/region-in-container.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/support/two-regions-in-container.html": [
- []
- ],
- "css/css-regions/interactivity/resizing/support/util.js": [
- []
- ],
- "css/css-regions/interactivity/selection/support/css/regions-selection.css": [
- []
- ],
- "css/css-regions/interactivity/selection/support/img/cat.png": [
- []
- ],
- "css/css-regions/interactivity/selection/support/js/selection-test-helper.js": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-003-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-006-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-008-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-009-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-012-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-013-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-016-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-017-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-019-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-024-ref.html": [
- []
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-028-ref.html": [
- []
- ],
- "css/css-regions/positioned-content/reference/position-relative-001-ref.html": [
- []
- ],
- "css/css-regions/reference/region-fragment-break-1-ref.html": [
- []
- ],
- "css/css-regions/region-fragment-001-ref.xht": [
- []
- ],
- "css/css-regions/region-fragment-002-ref.xht": [
- []
- ],
- "css/css-regions/region-stacking-context-001-ref.xht": [
- []
- ],
- "css/css-regions/region-styling-001-ref.xht": [
- []
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-001-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-002-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-003-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-004-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-005-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-dialog-001-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-dialog-002-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-layers-001-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-layers-002-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-layers-003-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-modal-dialog-001-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-modal-dialog-002-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-001-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-002-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-003-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-004-ref.html": [
- []
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-005-ref.html": [
- []
- ],
- "css/css-regions/support/1x1-green.png": [
- []
- ],
- "css/css-regions/support/1x1-lime.png": [
- []
- ],
- "css/css-regions/support/1x1-maroon.png": [
- []
- ],
- "css/css-regions/support/1x1-navy.png": [
- []
- ],
- "css/css-regions/support/1x1-red.png": [
- []
- ],
- "css/css-regions/support/1x1-white.png": [
- []
- ],
- "css/css-regions/support/60x60-gg-rr.png": [
- []
- ],
- "css/css-regions/support/60x60-green.png": [
- []
- ],
- "css/css-regions/support/60x60-red.png": [
- []
- ],
- "css/css-regions/support/README": [
- []
- ],
- "css/css-regions/support/a-green.css": [
- []
- ],
- "css/css-regions/support/b-green.css": [
- []
- ],
- "css/css-regions/support/c-red.css": [
- []
- ],
- "css/css-regions/support/cat.png": [
- []
- ],
- "css/css-regions/support/pattern-grg-rgr-grg.png": [
- []
- ],
- "css/css-regions/support/pattern-grg-rrg-rgg.png": [
- []
- ],
- "css/css-regions/support/pattern-rgr-grg-rgr.png": [
- []
- ],
- "css/css-regions/support/pattern-tr.png": [
- []
- ],
- "css/css-regions/support/square-purple.png": [
- []
- ],
- "css/css-regions/support/square-teal.png": [
- []
- ],
- "css/css-regions/support/square-white.png": [
- []
- ],
- "css/css-regions/support/swatch-blue.png": [
- []
- ],
- "css/css-regions/support/swatch-green.png": [
- []
- ],
- "css/css-regions/support/swatch-lime.png": [
- []
- ],
- "css/css-regions/support/swatch-orange.png": [
- []
- ],
- "css/css-regions/support/swatch-red.png": [
- []
- ],
- "css/css-regions/support/swatch-teal.png": [
- []
- ],
- "css/css-regions/support/swatch-white.png": [
- []
- ],
- "css/css-regions/support/swatch-yellow.png": [
- []
- ],
- "css/css-regions/support/test-bl.png": [
- []
- ],
- "css/css-regions/support/test-br.png": [
- []
- ],
- "css/css-regions/support/test-outer.png": [
- []
- ],
- "css/css-regions/support/test-tl.png": [
- []
- ],
- "css/css-regions/support/test-tr.png": [
- []
- ],
- "css/css-regions/test-plan/index.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-001-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-008-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-010-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-013-alt-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-013-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-014-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-016-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-017-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-018-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-019-ref.html": [
- []
- ],
- "css/css-regions/transforms/reference/regions-transforms-020-ref.html": [
- []
- ],
- "css/css-regions/variable-width-001-ref.xht": [
- []
- ],
- "css/css-regions/writing-modes/reference/extract-ordered-list-direction-and-writing-modes-ref.html": [
- []
- ],
"css/css-rhythm/META.yml": [
[]
],
@@ -280374,9 +277127,6 @@
"interfaces/css-pseudo.idl": [
[]
],
- "interfaces/css-regions.idl": [
- []
- ],
"interfaces/css-shadow-parts.idl": [
[]
],
@@ -281022,6 +277772,9 @@
"mathml/presentation-markup/spaces/space-2-ref.html": [
[]
],
+ "mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html": [
+ []
+ ],
"mathml/presentation-markup/tokens/ms-001-ref.html": [
[]
],
@@ -283107,6 +279860,579 @@
"quirks/unitless-length/support/common.js": [
[]
],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers": [
+ []
+ ],
"referrer-policy/4K+1/generic/spec_json.js": [
[]
],
@@ -283116,6 +280442,579 @@
"referrer-policy/4K+1/spec.src.json": [
[]
],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers": [
+ []
+ ],
"referrer-policy/4K-1/generic/spec_json.js": [
[]
],
@@ -283125,6 +281024,579 @@
"referrer-policy/4K-1/spec.src.json": [
[]
],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers": [
+ []
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers": [
+ []
+ ],
"referrer-policy/4K/generic/spec_json.js": [
[]
],
@@ -288321,6 +286793,24 @@
"svg/path/distance/pathLength-zero-ref.svg": [
[]
],
+ "svg/path/distance/reference/pathlength-path-mutating-ref.svg": [
+ []
+ ],
+ "svg/path/distance/reference/pathlength-path-negative-ref.svg": [
+ []
+ ],
+ "svg/path/distance/reference/pathlength-path-ref.svg": [
+ []
+ ],
+ "svg/path/distance/reference/pathlength-path-zero-ref.svg": [
+ []
+ ],
+ "svg/path/distance/reference/pathlength-rect-mutating-ref.svg": [
+ []
+ ],
+ "svg/path/distance/reference/pathlength-rect-ref.svg": [
+ []
+ ],
"svg/path/error-handling/render-until-error-ref.svg": [
[]
],
@@ -296742,6 +295232,9 @@
"workers/modules/resources/export-on-static-import-script.js.headers": [
[]
],
+ "workers/modules/resources/import-meta-url-export.js": [
+ []
+ ],
"workers/modules/resources/import-meta-url-worker.js": [
[]
],
@@ -316167,24 +314660,60 @@
{}
]
],
+ "client-hints/accept-ch-answers.sub.https.html": [
+ [
+ "client-hints/accept-ch-answers.sub.https.html",
+ {}
+ ]
+ ],
"client-hints/accept-ch-cache-revalidation.https.html": [
[
"client-hints/accept-ch-cache-revalidation.https.html",
{}
]
],
+ "client-hints/accept-ch-change.https.html": [
+ [
+ "client-hints/accept-ch-change.https.html",
+ {}
+ ]
+ ],
"client-hints/accept-ch-feature-policy-navigation.https.html": [
[
"client-hints/accept-ch-feature-policy-navigation.https.html",
{}
]
],
+ "client-hints/accept-ch-feature-policy.sub.https.html": [
+ [
+ "client-hints/accept-ch-feature-policy.sub.https.html",
+ {}
+ ]
+ ],
+ "client-hints/accept-ch-malformed-header.https.html": [
+ [
+ "client-hints/accept-ch-malformed-header.https.html",
+ {}
+ ]
+ ],
"client-hints/accept-ch-no-feature-policy-navigation.https.html": [
[
"client-hints/accept-ch-no-feature-policy-navigation.https.html",
{}
]
],
+ "client-hints/accept-ch-no-feature-policy.sub.https.html": [
+ [
+ "client-hints/accept-ch-no-feature-policy.sub.https.html",
+ {}
+ ]
+ ],
+ "client-hints/accept-ch-non-secure.http.html": [
+ [
+ "client-hints/accept-ch-non-secure.http.html",
+ {}
+ ]
+ ],
"client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-other-origins.https.html": [
[
"client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-other-origins.https.html",
@@ -316295,63 +314824,15 @@
}
]
],
- "client-hints/accept_ch.http.html": [
- [
- "client-hints/accept_ch.http.html",
- {}
- ]
- ],
- "client-hints/accept_ch.tentative.https.html": [
+ "client-hints/http-equiv-accept-ch-malformed-header.https.html": [
[
- "client-hints/accept_ch.tentative.https.html",
+ "client-hints/http-equiv-accept-ch-malformed-header.https.html",
{}
]
],
- "client-hints/accept_ch.tentative.sub.https.html": [
+ "client-hints/http-equiv-accept-ch-non-secure.http.html": [
[
- "client-hints/accept_ch.tentative.sub.https.html",
- {}
- ]
- ],
- "client-hints/accept_ch_feature_policy.tentative.sub.https.html": [
- [
- "client-hints/accept_ch_feature_policy.tentative.sub.https.html",
- {}
- ]
- ],
- "client-hints/accept_ch_malformed_header.https.html": [
- [
- "client-hints/accept_ch_malformed_header.https.html",
- {}
- ]
- ],
- "client-hints/accept_ch_no_feature_policy.tentative.sub.https.html": [
- [
- "client-hints/accept_ch_no_feature_policy.tentative.sub.https.html",
- {}
- ]
- ],
- "client-hints/http_equiv_accept_ch.tentative.http.html": [
- [
- "client-hints/http_equiv_accept_ch.tentative.http.html",
- {}
- ]
- ],
- "client-hints/http_equiv_accept_ch.tentative.https.html": [
- [
- "client-hints/http_equiv_accept_ch.tentative.https.html",
- {}
- ]
- ],
- "client-hints/http_equiv_accept_ch.tentative.sub.https.html": [
- [
- "client-hints/http_equiv_accept_ch.tentative.sub.https.html",
- {}
- ]
- ],
- "client-hints/http_equiv_accept_ch_malformed_header.tentative.https.html": [
- [
- "client-hints/http_equiv_accept_ch_malformed_header.tentative.https.html",
+ "client-hints/http-equiv-accept-ch-non-secure.http.html",
{}
]
],
@@ -330352,36 +328833,6 @@
{}
]
],
- "css/css-regions/cssomview-apis-no-region-chain-001.html": [
- [
- "css/css-regions/cssomview-apis-no-region-chain-001.html",
- {}
- ]
- ],
- "css/css-regions/flow-into-parsing-001.html": [
- [
- "css/css-regions/flow-into-parsing-001.html",
- {}
- ]
- ],
- "css/css-regions/idlharness.html": [
- [
- "css/css-regions/idlharness.html",
- {}
- ]
- ],
- "css/css-regions/inheritance.html": [
- [
- "css/css-regions/inheritance.html",
- {}
- ]
- ],
- "css/css-regions/stacking-context/javascript-stacking-context-001.html": [
- [
- "css/css-regions/stacking-context/javascript-stacking-context-001.html",
- {}
- ]
- ],
"css/css-rhythm/inheritance.html": [
[
"css/css-rhythm/inheritance.html",
@@ -338312,6 +336763,12 @@
{}
]
],
+ "css/css-values/ch-pseudo-recalc-on-font-load.html": [
+ [
+ "css/css-values/ch-pseudo-recalc-on-font-load.html",
+ {}
+ ]
+ ],
"css/css-values/ch-recalc-on-font-load.html": [
[
"css/css-values/ch-recalc-on-font-load.html",
@@ -382626,8 +381083,13 @@
[
"script",
"script-tests/FileSystemBaseHandle-postMessage-MessagePort.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
]
],
@@ -395999,6 +394461,9402 @@
{}
]
],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.swap-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.keep-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.keep-origin.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.no-redirect.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.no-redirect.http.html",
+ {}
+ ]
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.swap-origin.http.html": [
+ [
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.swap-origin.http.html",
+ {}
+ ]
+ ],
"referrer-policy/css-integration/child-css/external-import-stylesheet.html": [
[
"referrer-policy/css-integration/child-css/external-import-stylesheet.html",
@@ -422623,6 +430481,18 @@
{}
]
],
+ "svg/types/scripted/SVGGeometryElement.getPointAtLength-02.svg": [
+ [
+ "svg/types/scripted/SVGGeometryElement.getPointAtLength-02.svg",
+ {}
+ ]
+ ],
+ "svg/types/scripted/SVGGeometryElement.getTotalLength-01.svg": [
+ [
+ "svg/types/scripted/SVGGeometryElement.getTotalLength-01.svg",
+ {}
+ ]
+ ],
"svg/types/scripted/SVGGeometryElement.isPointInFill-01.svg": [
[
"svg/types/scripted/SVGGeometryElement.isPointInFill-01.svg",
@@ -442384,6 +450254,12 @@
{}
]
],
+ "workers/modules/shared-worker-import-meta.html": [
+ [
+ "workers/modules/shared-worker-import-meta.html",
+ {}
+ ]
+ ],
"workers/modules/shared-worker-import.any.js": [
[
"workers/modules/shared-worker-import.any.html",
@@ -463571,18 +471447,6 @@
{}
]
],
- "css/css-regions/elements/video-001.html": [
- [
- "css/css-regions/elements/video-001.html",
- {}
- ]
- ],
- "css/css-regions/stacking-context/javascript-stacking-context-002.html": [
- [
- "css/css-regions/stacking-context/javascript-stacking-context-002.html",
- {}
- ]
- ],
"css/css-round-display/polar-anchor-center-001.html": [
[
"css/css-round-display/polar-anchor-center-001.html",
@@ -466481,7 +474345,7 @@
},
"paths": {
".azure-pipelines.yml": [
- "7e1732fd45b186682e93932068f8840ba00d9caf",
+ "4dd3e115a61679737bef67e1c10a9842941ebc08",
"support"
],
".codecov.yml": [
@@ -467297,7 +475161,7 @@
"support"
],
"2dcontext/conformance-requirements/2d.missingargs.html": [
- "1056eb078f43b15717e6b642132161035bcef08b",
+ "5acee165ba915f3feecf7f745aa5bf6375e5a0f2",
"testharness"
],
"2dcontext/conformance-requirements/2d.type.delete.html": [
@@ -467417,7 +475281,7 @@
"testharness"
],
"2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html": [
- "9a74700e159cd7e7f0becb78d636e971af2f4f25",
+ "e68f16ff8b02dec49c63c68edca8985c52abcd5b",
"testharness"
],
"2dcontext/drawing-images-to-the-canvas/2d.drawImage.path.html": [
@@ -467441,11 +475305,11 @@
"testharness"
],
"2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html": [
- "5caea5974eac23c9c9986b2d158c7c29129b705a",
+ "5370c4d859cc8f6e8d9506760e850f142d3ff203",
"testharness"
],
"2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html": [
- "23778452599ba79c522a16873cbd1ef0788477d3",
+ "6ff6bae53e6330fe82686aea87e4ae07fad975df",
"testharness"
],
"2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.html": [
@@ -467453,7 +475317,7 @@
"testharness"
],
"2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html": [
- "6cd5bfb4c023950c2140ce1bf616ac1e826beeb0",
+ "8618c1b6c53dbccaa21a087e049088fd6ab79790",
"testharness"
],
"2dcontext/drawing-images-to-the-canvas/drawimage_canvas.html": [
@@ -468705,7 +476569,7 @@
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html": [
- "546859be21f0bc02631404ec9541ad333ec6bb18",
+ "345868901711268026d8f7ba86fb70895333f38d",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.1.html": [
@@ -468737,11 +476601,11 @@
"support"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html": [
- "73c2bc05d5407eeb907836ea0be3b33293024f98",
+ "265829fad474d7739f66428943f33eb57180ac44",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html": [
- "a165c55c3abb3247f920118d0e5d35458a9efb5f",
+ "989d89ee67e5e55d39100c910e25700ec44ac00c",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.object.return.html": [
@@ -468805,11 +476669,11 @@
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html": [
- "d02876d42c3c0ff52b284fa15fbad81e250862d8",
+ "5146f44fe4fca3879031920d536649be7e426236",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html": [
- "08f60db93a2af09c1f89348c1f701cc81a2e5068",
+ "9c17cb40813afe44cb4afe330e52d6fdfd7ed720",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside1.html": [
@@ -468869,7 +476733,7 @@
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html": [
- "04615b78988e264e5b49a94fe9109ed5ddc1a32b",
+ "5a64551e39f69b3516fbad06c730a244ec552103",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.crosscanvas.html": [
@@ -468877,7 +476741,7 @@
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html": [
- "7040de466e4734690d5899c1e12ade2aa76bb1a6",
+ "6384aa4443d23eef3dffa9774b2b432aad575a08",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.emptysrc.html": [
@@ -468901,15 +476765,15 @@
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html": [
- "0df01543779b1e68ed3a169a1ec9b7c99a335135",
+ "992e889b680c47e19332bdb036ca9303d9725939",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html": [
- "896df5038982aad7547d3dac19b2f28bee9bd7b3",
+ "09dd31db5c550f3a0899a22ab965ce5a1b0735a7",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html": [
- "04a13779ad56f8a0476f22103d3c9a19293543cf",
+ "f0ca10ed7f67f123857f3bf1f97ffce95ba77639",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas1.html": [
@@ -469001,7 +476865,7 @@
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html": [
- "c7383cca9982324e1a4d386bd71d74758efcc709",
+ "496b91ad2a322f2f3119f8703b7f60b98103d6b3",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.repeat.empty.html": [
@@ -469013,19 +476877,19 @@
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html": [
- "0b92f58007eaa12c4c9c09e604c501d01bdaf2fb",
+ "9cccbdb5b4178c8eb109cf26941b00f16062dc41",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html": [
- "c04697ad6cd698c400f4cf548562ef7743b71918",
+ "53e9623a70cca92b0563fc8de040e7c3e8b07808",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html": [
- "1497870ed5d6d7ca32d31dd13876d2973a19a147",
+ "2c573b8e602a34fc8585022ce3870f2632c709ca",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html": [
- "9b53e46cf2df312952705ae2397c73f97eee24e5",
+ "53df375de33db15e95f101f68378b6293f266d82",
"testharness"
],
"2dcontext/fill-and-stroke-styles/2d.strokeStyle.default.html": [
@@ -469041,7 +476905,7 @@
"support"
],
"2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html": [
- "05818aeb8bb66f24e91c83fdad9502b2a06285cc",
+ "5e4502fd8dbe73bffa25a3e8116ec40ef57605c5",
"testharness"
],
"2dcontext/hit-regions/hitregions-members-exist.html": [
@@ -469073,7 +476937,7 @@
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-drawImage-closed.html": [
- "e320c6763feaf3b97b5c8627a7bfcb9079fa517a",
+ "afe1b0ae0aa90e39e889cacebcf9497297f150a2",
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-drawImage.html": [
@@ -469089,15 +476953,15 @@
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-invalid-args.html": [
- "c200ce36f98658ef0dae6f654f892105a7e7aca1",
+ "3330cfb9189d42e43d79caf9669b5c05d5620379",
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-origin.sub.html": [
- "0d903b14b46e94ab9614fa91eb33f536a6bd79ae",
+ "4b8ebc1587afeae57cab8f170e14ccc9656063a1",
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-serializable.html": [
- "a4434aec6e43cefe0f78a56f748f4a37709b1cea",
+ "c185cd9cbd9c4964fac8a1f9d0a899d945a206c7",
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-sizeOverflow.html": [
@@ -469105,7 +476969,7 @@
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-transfer.html": [
- "708f97097c16e9074cc3cbf54dad0ee75df7967c",
+ "6e836db9b96eea6668fd703c1f6ab090e8d88323",
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-worker.js": [
@@ -469297,7 +477161,7 @@
"testharness"
],
"2dcontext/path-objects/2d.path.arc.negative.html": [
- "7aabd464a9bdd18617bc8814bf14d5d00e5bcbd9",
+ "d5f963a2117e4afdb1960f9bc22e50a0a5224361",
"testharness"
],
"2dcontext/path-objects/2d.path.arc.nonempty.html": [
@@ -469401,7 +477265,7 @@
"testharness"
],
"2dcontext/path-objects/2d.path.arcTo.negative.html": [
- "0fb3f77a43ef6ff29c5ee65a540e350e78ba088a",
+ "232e34874a74d35771656df35f4a4a691bd1c82e",
"testharness"
],
"2dcontext/path-objects/2d.path.arcTo.nonfinite.html": [
@@ -469809,7 +477673,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create1.this.html": [
- "b3a3334f7ca9296740b0d4ab51687b632c23175f",
+ "9e6cc56c0b8c91b7e957fba2ab0383c719f50d9b",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create1.type.html": [
@@ -469817,7 +477681,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create1.zero.html": [
- "1f7ad7a1ce1b4ac2d72cc42f2133d3ad918f8fea",
+ "581ca179a03be8d54554cd7166da4db3e3b814c5",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create2.basic.html": [
@@ -469841,11 +477705,11 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html": [
- "2722b30f5e23114e3561a8f68d6e94614a76e47d",
+ "b9f008a659765120b7c7e042fc3d70d8a69a5fb3",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create2.this.html": [
- "670345eee51ef70e3a631152c6a02df96d8289e1",
+ "9d766256e3cdb77361ed7f38839bc9d918d35405",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create2.type.html": [
@@ -469853,7 +477717,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.create2.zero.html": [
- "f93583cf7cdc7df9279c3161e1dfb434f80f6439",
+ "a104c33236ef355acd39489348af9fc8bf04c638",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.get.basic.html": [
@@ -469873,7 +477737,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html": [
- "92623500f4a393ad4486a3fc7307c56c9c5b977b",
+ "64fd0d90ae5c8fc58db2a9ed55b412360046bb73",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.get.nonpremul.html": [
@@ -469921,7 +477785,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.get.zero.html": [
- "da279aef1e8d7280e04aa1e1e990eabace9dbbe0",
+ "c6d7ef98048f5ee811ffed0a2442dfb8ba4a21f7",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.object.clamp.html": [
@@ -469929,7 +477793,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds.html": [
- "5ac7af5dd90074e1b47a73046debe90008ee1b4d",
+ "b5bc1a57a846fefbb9d4322baa325cfc5f11a29a",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.html": [
@@ -469937,7 +477801,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds.html": [
- "4b6735e4f384f4571fbe04a39c50a7aa305c130a",
+ "461ea069304606cf779e61c8f34b374eb5d9cf12",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.html": [
@@ -470021,11 +477885,11 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html": [
- "c4cbb4ab9d5842d1df8bf58fcca3566644d66a0f",
+ "8adafed9db6b183e0e5cbe361792a5960ad57efc",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.put.null.html": [
- "851bc0ddc483123ff3d169f4c38f003be8b9a9b8",
+ "c8d1990d78093978503d9fd6e9a67bd20c8db85e",
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.put.path.html": [
@@ -470041,7 +477905,7 @@
"testharness"
],
"2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html": [
- "4f3fe49dbfbf7038307ac99a6a2364c4b0f45bf7",
+ "a032b216a9eecd7d44a83b31cf9b9cb2203376ff",
"testharness"
],
"2dcontext/resources/canvas-frame.css": [
@@ -470621,7 +478485,7 @@
"support"
],
"2dcontext/tools/gentestutils.py": [
- "1f6792d71b6b991d93e09c21783187a6b06a7708",
+ "bd1e3c75768a2644ad772578e6f6ee2266db7fb9",
"support"
],
"2dcontext/tools/name2dir.yaml": [
@@ -471069,11 +478933,11 @@
"testharness"
],
"FileAPI/blob/Blob-constructor-endings.html": [
- "1dee99ff775da3562194719be06b711c246b30ef",
+ "e5426bb979d6fbec0c0693ec6de1dd70fde38135",
"testharness"
],
"FileAPI/blob/Blob-constructor.html": [
- "4d39ed78e0ef791c9d2d1ce493e4b5f1c77f1101",
+ "d2b1777b86bed3d54303de9be0cd85d51d8ace92",
"testharness"
],
"FileAPI/blob/Blob-in-worker.worker.js": [
@@ -471097,11 +478961,11 @@
"testharness"
],
"FileAPI/file/File-constructor-endings.html": [
- "f0f9090768f48e25fb7fd47e5cd182bf11f065e4",
+ "f76d33295218c50553edab8a3075b9d192b35f10",
"testharness"
],
"FileAPI/file/File-constructor.html": [
- "646ed99c2124a2f7329f84fbbff7bf5a132969a2",
+ "60dbb233f018f0bab078daf6969218aff2bff73b",
"testharness"
],
"FileAPI/file/Worker-read-file-constructor.worker.js": [
@@ -471181,7 +479045,7 @@
"testharness"
],
"FileAPI/reading-data-section/FileReader-multiple-reads.html": [
- "310fa85a00d02732265f2b1c9c02f1c6dbc2504d",
+ "e7279fe4bd445e9fec2495b6682054dc91c97fe9",
"testharness"
],
"FileAPI/reading-data-section/filereader_abort.html": [
@@ -471357,7 +479221,7 @@
"testharness"
],
"IndexedDB/bigint_value.htm": [
- "589eeabe6c6e6798406759e2d40fd28be2645473",
+ "9ce980a2d6eddfc514950543524dab9aa8f91325",
"testharness"
],
"IndexedDB/bindings-inject-keys-bypass-setters.html": [
@@ -471389,11 +479253,11 @@
"testharness"
],
"IndexedDB/clone-before-keypath-eval.html": [
- "bf67c5d6d732f6dfcf7687d9b12f3d313eb61707",
+ "8b99e1ae16c47a4b34e4c3c579ce7d1fea863d27",
"testharness"
],
"IndexedDB/close-in-upgradeneeded.html": [
- "402906fc1c196b74057529585fdf1298e940e517",
+ "fb278f91dba35fa496c5221027f9fd0337e09d1a",
"testharness"
],
"IndexedDB/cursor-overloads.htm": [
@@ -471457,7 +479321,7 @@
"testharness"
],
"IndexedDB/idb-explicit-commit.any.js": [
- "ec72e1ae9583eb227652a193ff589212fd10cd82",
+ "038c04720f8d949dc611c981659e6b5428b8574e",
"testharness"
],
"IndexedDB/idb_binary_key_conversion.htm": [
@@ -471473,11 +479337,11 @@
"testharness"
],
"IndexedDB/idbcursor-advance-exception-order.html": [
- "1e05c9074d6b1e5c86c46cc1f91bdbd0ecb26ad9",
+ "893c179e24f588249d075f9b8583b8c6984dd189",
"testharness"
],
"IndexedDB/idbcursor-advance-invalid.htm": [
- "ee911cc9e4bc2525a931e4d6a81891334ee902e9",
+ "02c7fde0c4959b6524f9385a0b29dfa389ddf474",
"testharness"
],
"IndexedDB/idbcursor-advance.htm": [
@@ -471485,7 +479349,7 @@
"testharness"
],
"IndexedDB/idbcursor-continue-exception-order.htm": [
- "8002476f115d731f7ddd574db4d13286936c002d",
+ "4e697bc43024524c478ebc5ae19577968ffae407",
"testharness"
],
"IndexedDB/idbcursor-continue.htm": [
@@ -471493,19 +479357,19 @@
"testharness"
],
"IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm": [
- "56a23a1123ffcdfa9f05e0b5858425079bbebd40",
+ "0df6e3a3a92426c71a7fec00f56d6f70f5dd64c4",
"testharness"
],
"IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm": [
- "9393e2fbf24f2775526ba9a173dca8809ac04ccd",
+ "862c9c951b5e7976fc8a48ef8677451358c4096b",
"testharness"
],
"IndexedDB/idbcursor-continuePrimaryKey.htm": [
- "773141cf436bd1758a44571d139a2ec85736704f",
+ "df292ce3e230de45edfbce959d42639882465dae",
"testharness"
],
"IndexedDB/idbcursor-delete-exception-order.htm": [
- "cc2791c7f21425319ef87a1dfd25f9ffb32bf1d4",
+ "96c7297b93ff11de22bcf3acd9bc43589d8e4681",
"testharness"
],
"IndexedDB/idbcursor-direction-index-keyrange.htm": [
@@ -471557,7 +479421,7 @@
"testharness"
],
"IndexedDB/idbcursor-update-exception-order.htm": [
- "4e18731ff9d260a5aa2c5b1b85775c5d158c29ed",
+ "22c2940ac4ad6b5df73d5cd2973a35e8037acca9",
"testharness"
],
"IndexedDB/idbcursor_advance_index.htm": [
@@ -471565,11 +479429,11 @@
"testharness"
],
"IndexedDB/idbcursor_advance_index2.htm": [
- "77b812e180a6cf2f922439d99818f846b2783b4d",
+ "93660566f84d7c47d021aff7ad0504aacad51ea2",
"testharness"
],
"IndexedDB/idbcursor_advance_index3.htm": [
- "b41427f960adc57ca14a3ca2c28903eaa207b72e",
+ "27e040d4fece4be28f78b0b7ea9dd8bee33bd9b7",
"testharness"
],
"IndexedDB/idbcursor_advance_index5.htm": [
@@ -471577,19 +479441,19 @@
"testharness"
],
"IndexedDB/idbcursor_advance_index6.htm": [
- "826cb1e1a0e148e70d6e5bd248006572521a4c27",
+ "ed4c8f3dadacdcacf70f688a98e736bada2d3182",
"testharness"
],
"IndexedDB/idbcursor_advance_index7.htm": [
- "8da5b618d45296461d5df17703a3d4209bb90d39",
+ "52f8ea2ba6929acb3116c8caca2e20676ae0e031",
"testharness"
],
"IndexedDB/idbcursor_advance_index8.htm": [
- "b5e64d4cdced12ecefb1ff41b193c9ed1aee9ebb",
+ "a3420b162bee67f65e53a0b4c5226c1f5b30138c",
"testharness"
],
"IndexedDB/idbcursor_advance_index9.htm": [
- "517a573c49eb36919087baa98379c678e7232ce6",
+ "9aba54b1fa1c8df49f66b3e32d5019b46d7627bc",
"testharness"
],
"IndexedDB/idbcursor_advance_objectstore.htm": [
@@ -471597,19 +479461,19 @@
"testharness"
],
"IndexedDB/idbcursor_advance_objectstore2.htm": [
- "32478c141eaee5d6a86e7ba52084015b8de0c193",
+ "9af1925cdefec5e7ae4fad065ebd8245f2d17088",
"testharness"
],
"IndexedDB/idbcursor_advance_objectstore3.htm": [
- "1accd6631a009052eea7a006d6bf263f42769705",
+ "d2f2f84719e933e112bfa482d91a9267e47e04a8",
"testharness"
],
"IndexedDB/idbcursor_advance_objectstore4.htm": [
- "387973169d0a13463be4759c4f19b86cf28ce9b7",
+ "57e4f589c41aab907a90afc0f63d2b4503d9d8df",
"testharness"
],
"IndexedDB/idbcursor_advance_objectstore5.htm": [
- "cb0859c636e5f9d426f1a553991115561ebb729f",
+ "454329d260cacd40ca18649056d50c0253a1950c",
"testharness"
],
"IndexedDB/idbcursor_continue_delete_objectstore.htm": [
@@ -471621,15 +479485,15 @@
"testharness"
],
"IndexedDB/idbcursor_continue_index2.htm": [
- "d0eaef3d074f9cc4cc581e19b8b9feab514019f4",
+ "84a01092444f68715f668d5edb1b83e96c1ba5d2",
"testharness"
],
"IndexedDB/idbcursor_continue_index3.htm": [
- "357dc157f35f707840bb1826f7bb069f85fe940d",
+ "f2bd4fc62e827e909038d9c63804629755b09f93",
"testharness"
],
"IndexedDB/idbcursor_continue_index4.htm": [
- "c5cfd85ebdbb4c459844d2d0c7feae16ff8fad56",
+ "6196bb0137560a5248fe6e9adefdce95bee3187e",
"testharness"
],
"IndexedDB/idbcursor_continue_index5.htm": [
@@ -471641,15 +479505,15 @@
"testharness"
],
"IndexedDB/idbcursor_continue_index7.htm": [
- "fed235685c735a2e215dc787a86243a09648a477",
+ "7db922d6b840ca39013a7048c1df927616373557",
"testharness"
],
"IndexedDB/idbcursor_continue_index8.htm": [
- "4a574ec90f4055c457aca4a78ac8ebe674d63992",
+ "b4c69aa08fe74dbeba82a4ec2caace8cc7466052",
"testharness"
],
"IndexedDB/idbcursor_continue_invalid.htm": [
- "bd22cfecf9a98979521d8885e5536dab7723d0f1",
+ "f9df05aa533b4c127010b88f14e5d7111e403740",
"testharness"
],
"IndexedDB/idbcursor_continue_objectstore.htm": [
@@ -471657,23 +479521,23 @@
"testharness"
],
"IndexedDB/idbcursor_continue_objectstore2.htm": [
- "14502330b80aad694866440c240f4185d891e72b",
+ "8cff47088fcfcaf2777396c0816ad18f0c59f760",
"testharness"
],
"IndexedDB/idbcursor_continue_objectstore3.htm": [
- "a059b62e53a293034430d861b9b58b5a14da0b47",
+ "385dceaaef736db1584fec082bdae57df05fecdb",
"testharness"
],
"IndexedDB/idbcursor_continue_objectstore4.htm": [
- "b4819c73300bf7ec1dbec27054385556dd9c9e0f",
+ "480bd2f1f066d32a1bfcce225812d725ce2537b6",
"testharness"
],
"IndexedDB/idbcursor_continue_objectstore5.htm": [
- "3c1943336c38d6cf0851df6bb4bb163563c9b9bc",
+ "5dff6d8f763d6c95c5b044a303651cf4f3d2dfb9",
"testharness"
],
"IndexedDB/idbcursor_continue_objectstore6.htm": [
- "f9d656ebf893282b1743ee2ef7e19ab211ed1f38",
+ "7f56f838ea51bfaa6558ef514307829d3df9f174",
"testharness"
],
"IndexedDB/idbcursor_delete_index.htm": [
@@ -471681,19 +479545,19 @@
"testharness"
],
"IndexedDB/idbcursor_delete_index2.htm": [
- "a5147f75450f0a3a357952fe9f78c02bddb906b5",
+ "7b9970d3ee0035eadf0bc9f55cb01b5ba7e7cf69",
"testharness"
],
"IndexedDB/idbcursor_delete_index3.htm": [
- "bb5722ee351cf579a0fefe8c1d16c97be5b55d45",
+ "3b4241d50f99e89de1d251eef715fe3b297e5f6e",
"testharness"
],
"IndexedDB/idbcursor_delete_index4.htm": [
- "9b57bd681a94eb79ecad09e19075e806bae2ec1a",
+ "cccce2be271c5ef7580522b9afa4d3628376e5b1",
"testharness"
],
"IndexedDB/idbcursor_delete_index5.htm": [
- "66eacdebe663899f9f6f524995f015917586615e",
+ "af08367c4cccf1a97aae5e0348bee894b7056286",
"testharness"
],
"IndexedDB/idbcursor_delete_objectstore.htm": [
@@ -471701,19 +479565,19 @@
"testharness"
],
"IndexedDB/idbcursor_delete_objectstore2.htm": [
- "69521e66b7914c4128634ad558b2f7a13eda602a",
+ "b4eac9b675f2e4ea96e1d7ba912fda7765528b20",
"testharness"
],
"IndexedDB/idbcursor_delete_objectstore3.htm": [
- "bdb8d93c34fba4545b38cd53a85f5b55159ff572",
+ "05fa9edb723f1211a3344f8d437d94d52c2f3c94",
"testharness"
],
"IndexedDB/idbcursor_delete_objectstore4.htm": [
- "47bcd8b0057bd5b7c30f00e9aaec78f4ed64ed9a",
+ "b0d993ab961a41e4c736cadf0ca90d483c899f58",
"testharness"
],
"IndexedDB/idbcursor_delete_objectstore5.htm": [
- "b37e26126a9d43352e621c10935f08f0d968ec2d",
+ "94a0926a50c2f4f7e1f17e91de4610fe1a174bdc",
"testharness"
],
"IndexedDB/idbcursor_iterating.htm": [
@@ -471741,31 +479605,31 @@
"testharness"
],
"IndexedDB/idbcursor_update_index2.htm": [
- "03f9c2712cbcdef1c1f5538ca1b33ce1aacdd021",
+ "9ec247b01bd4a23f92bbbf25f3592b5bb3ff77d7",
"testharness"
],
"IndexedDB/idbcursor_update_index3.htm": [
- "0f7b2a1dbe58f52ca524e6f4e77b84419ceeaa27",
+ "9386583a06affb768db99f8437d7f976c3c9b52e",
"testharness"
],
"IndexedDB/idbcursor_update_index4.htm": [
- "ee60da0d214ad85c501de2d9422238ca18c5afe3",
+ "463b2f9025622af7b2f21308f3f6d717e9b97674",
"testharness"
],
"IndexedDB/idbcursor_update_index5.htm": [
- "a31528d16587cc0e9b5336466f40abcd63979ceb",
+ "564d904f9fe86511161fe82c2eb2d6ac70846371",
"testharness"
],
"IndexedDB/idbcursor_update_index6.htm": [
- "1e51b1354cf3003838644d004d2716c1166bdc8b",
+ "9639fb9f7337e347cdfb813a10d34f708bdcaa96",
"testharness"
],
"IndexedDB/idbcursor_update_index7.htm": [
- "1d464fbcdee65e8c728acd839b7d1c7c6a71483d",
+ "25f59a1e32c6dd0487e0b5ea58d6453fc51b58cf",
"testharness"
],
"IndexedDB/idbcursor_update_index8.htm": [
- "3b9266dbeda32c18bf81e917bf33d28a490b8bee",
+ "cf33e1d75040fd1156b63cd56f17dec1384f46a0",
"testharness"
],
"IndexedDB/idbcursor_update_objectstore.htm": [
@@ -471773,11 +479637,11 @@
"testharness"
],
"IndexedDB/idbcursor_update_objectstore2.htm": [
- "65c87bd95369a16565ec32760d5b154cc04297c7",
+ "6c7a13370a996d87b925b9086018971888c60a3c",
"testharness"
],
"IndexedDB/idbcursor_update_objectstore3.htm": [
- "0ce59de29c9d58ae3c9b68f8b2c2f855707f6d13",
+ "e19f5853bc41becf9c50631631858171b193c3ef",
"testharness"
],
"IndexedDB/idbcursor_update_objectstore4.htm": [
@@ -471785,35 +479649,35 @@
"testharness"
],
"IndexedDB/idbcursor_update_objectstore5.htm": [
- "5dfb82ca19dd3704c5f4a4900c16a4df91872ee0",
+ "2b73a51d42e79fb32e1f1a241f362fd75e3e2de8",
"testharness"
],
"IndexedDB/idbcursor_update_objectstore6.htm": [
- "16aa00dfae01599a3a66fdc3f5ad58aaec04d2fe",
+ "a2f8140829a78a5039dc6b3fa8dab4330146ee05",
"testharness"
],
"IndexedDB/idbcursor_update_objectstore7.htm": [
- "b1b736cf0ced1fbb583a77c80f0ba832af5de81d",
+ "4751289e6dfe197d2e52a41e8761ade655c0ff03",
"testharness"
],
"IndexedDB/idbcursor_update_objectstore8.htm": [
- "f0b8900d4b0a9603ac2413131c73fae7e5019d1e",
+ "3dcb94e9fbb23208dd85ef126f0007409d8be4b2",
"testharness"
],
"IndexedDB/idbcursor_update_objectstore9.htm": [
- "34aa78e6be84f372f951961732ba55a80827dd4e",
+ "c112b073fc7b09fdf94dd7e51a83029760da82fa",
"testharness"
],
"IndexedDB/idbdatabase-createObjectStore-exception-order.htm": [
- "8705501e535e12fefc9472b90f63da40eb580945",
+ "1d6cbe8ea45dce9def0a2d60ee482379b83a8b65",
"testharness"
],
"IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm": [
- "23a3e1fd7015842866491ef8d53b581796d596c8",
+ "dc1bdf34015f0f14b8c9a70bd2a2bc3b00764c6e",
"testharness"
],
"IndexedDB/idbdatabase-transaction-exception-order.html": [
- "c0021d926a83255fc434f81e702912f42d7ef10f",
+ "759685b642a03d819c568f7fdcb74e969c620972",
"testharness"
],
"IndexedDB/idbdatabase_close.htm": [
@@ -471841,7 +479705,7 @@
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore11.htm": [
- "ae78d46ba078182b2847dcfda49f79153a1b2fe1",
+ "ca04f21d6d0f57ffc6f738a602cd6225a0e64827",
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore2.htm": [
@@ -471849,11 +479713,11 @@
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore3.htm": [
- "ccf4a2b5fde00832e144a2fbd79cfdcf5f72cc12",
+ "0eeefd613c2209fda26847f1232424f37f44e946",
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore4.htm": [
- "07d787bd9a1635793525c84261730c290d1d1fa7",
+ "9c7279929ebea4a925713a05f46297513d0ea1e9",
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore5.htm": [
@@ -471861,7 +479725,7 @@
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore6.htm": [
- "c1200c5f93a332761191357216b93a2570292879",
+ "6c7a542db0d688bfb7f985f31fcadc60787fa527",
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore7.htm": [
@@ -471873,7 +479737,7 @@
"testharness"
],
"IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm": [
- "4a28d4033c08834783171d9a9bbc39312b9e2854",
+ "1fdad86308563bddf89f0c06de80fcaa102bd82c",
"testharness"
],
"IndexedDB/idbdatabase_deleteObjectStore.htm": [
@@ -471881,19 +479745,19 @@
"testharness"
],
"IndexedDB/idbdatabase_deleteObjectStore2.htm": [
- "3c1abe63232de97f2698443eb55c056fd5dae218",
+ "531b3d37aaae4a230ab6e21972b220cde4fb3a06",
"testharness"
],
"IndexedDB/idbdatabase_deleteObjectStore3.htm": [
- "cae00f9d220e37d1a8f1fcc771a32bc409ed3322",
+ "a8db5b49cbbe984788b7000e9679f24cf3228e40",
"testharness"
],
"IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm": [
- "cc59f9d2025d73c05f02276e902b5d3f96c70882",
+ "729fce6db5a8df7177dde6027020daa6fad9cd19",
"testharness"
],
"IndexedDB/idbdatabase_transaction.htm": [
- "94de8b43342ae39bb83a70d76369b9bf264a32ee",
+ "c883167a62a4d8a4291057d7079f18fa50a8354e",
"testharness"
],
"IndexedDB/idbdatabase_transaction2.htm": [
@@ -471901,15 +479765,15 @@
"testharness"
],
"IndexedDB/idbdatabase_transaction3.htm": [
- "9b353c7108f4fd81cff9daad16c8f3c0b6e2ef9f",
+ "4d2542a5eeff7b4a3642570b355fe94bcf9df8f3",
"testharness"
],
"IndexedDB/idbdatabase_transaction4.htm": [
- "ca3369f7bd0d6cc5adb76aaa47a0305c620e7430",
+ "1df37ab373934525f0fb878521d7100f44180d10",
"testharness"
],
"IndexedDB/idbdatabase_transaction5.htm": [
- "b6b45ab9f28cca7f41ed99186a997347c67eef8e",
+ "4d2bdcbe4bb22508c9cccfabb04418580695be32",
"testharness"
],
"IndexedDB/idbfactory-databases-opaque-origin.html": [
@@ -471949,7 +479813,7 @@
"testharness"
],
"IndexedDB/idbfactory_cmp2.htm": [
- "446bb465ce64ebeb6ecd43cb99bc1c2855b0d7b1",
+ "1932bbab49e09acc90358b9a44d800c30fb61ca3",
"testharness"
],
"IndexedDB/idbfactory_cmp3.htm": [
@@ -472021,19 +479885,19 @@
"testharness"
],
"IndexedDB/idbfactory_open9.htm": [
- "98b1ddeef1326462ccce296e5209f958947a9ce3",
+ "36a9ef814cb121dd70da5bb265b3b6a6e15001c8",
"testharness"
],
"IndexedDB/idbindex-getAll-enforcerange.html": [
- "d0cbe28872097baf1d723ecb82bb3e590898aa0e",
+ "198253550042120a94dea1f8cf74c4ded9bd3aad",
"testharness"
],
"IndexedDB/idbindex-getAllKeys-enforcerange.html": [
- "e36a69f495d10d481b228b2ef7cabf6d6ffaf45a",
+ "40cad527bb0893f8191f337fc58880eb3cb41306",
"testharness"
],
"IndexedDB/idbindex-multientry-arraykeypath.htm": [
- "e99c8ad99853c8940de72500c0ca083c1fc16fda",
+ "c23f96d8456b31b3c0e59e7651c7c4379ddc1dfc",
"testharness"
],
"IndexedDB/idbindex-multientry-big.htm": [
@@ -472049,7 +479913,7 @@
"testharness"
],
"IndexedDB/idbindex-query-exception-order.html": [
- "fb4aa9c9953000a7f3270af42af9891b93b81ee2",
+ "2c3e9b23c5b3637960ebf0feda0e0caf1f1f8751",
"testharness"
],
"IndexedDB/idbindex-rename-abort.html": [
@@ -472057,11 +479921,11 @@
"testharness"
],
"IndexedDB/idbindex-rename-errors.html": [
- "b9cbaf2f292495ab29735385d1338f3c6797725b",
+ "b314b5495799fe57d3ecfba408d84073460081a7",
"testharness"
],
"IndexedDB/idbindex-rename.html": [
- "7eb182f7ce7eb489d62f00f07a085d0ee7c6620c",
+ "da1d6c9ce9cb32f44d53c5c25c162869e66102fb",
"testharness"
],
"IndexedDB/idbindex-request-source.html": [
@@ -472081,7 +479945,7 @@
"testharness"
],
"IndexedDB/idbindex_count4.htm": [
- "addd99260d4746eb5a9dd22a4aaf56011a881f61",
+ "ce25412a25f529e138cb2077f4dd87d085909d67",
"testharness"
],
"IndexedDB/idbindex_get.htm": [
@@ -472101,19 +479965,19 @@
"testharness"
],
"IndexedDB/idbindex_get5.htm": [
- "65e2623cdd9505f85fb1fefd99bc6bdb0ee4a258",
+ "f1f3386cd22935d6b0912aeac490e2c14d68ce66",
"testharness"
],
"IndexedDB/idbindex_get6.htm": [
- "c7f6b92febed6ea06e85f26a674cafdb942abf7d",
+ "5304b18b1a0646595c5c9f3655d7ca767b99288d",
"testharness"
],
"IndexedDB/idbindex_get7.htm": [
- "e28fed4c591f420f2384e2255c33e5c12be66fac",
+ "9008c50184b995b60445e85ffc4a528b0edb4eb5",
"testharness"
],
"IndexedDB/idbindex_get8.htm": [
- "ef67c6d6d227ec2a87c2af83a4e202b3f558c799",
+ "9bfc48422fe0fd821362c15bec118fa0c9558643",
"testharness"
],
"IndexedDB/idbindex_getAll.html": [
@@ -472141,19 +480005,19 @@
"testharness"
],
"IndexedDB/idbindex_getKey5.htm": [
- "96af868beafe8ff9c5edce282863d18c6921d9fb",
+ "5fa33087cd6c045d0d3ed8f717d29d0786410c24",
"testharness"
],
"IndexedDB/idbindex_getKey6.htm": [
- "6e9680da9edf3ed3cce0e2abc3f47be20da3d8ae",
+ "18cdeb9e939227388cafc9140c1bbcac5f7ae4ea",
"testharness"
],
"IndexedDB/idbindex_getKey7.htm": [
- "c949d39b3aaf94789368620b904c003cb4788f4a",
+ "4b005739caca87e4d6b17cd20f0372ccd9e5305b",
"testharness"
],
"IndexedDB/idbindex_getKey8.htm": [
- "e46f7bc3617265560d6bf403d51a9351bca7dd3d",
+ "316da6a7d19d51d6c6cf9407aa70e9d8c5c819a8",
"testharness"
],
"IndexedDB/idbindex_indexNames.htm": [
@@ -472165,31 +480029,31 @@
"testharness"
],
"IndexedDB/idbindex_openCursor.htm": [
- "0efff9325f762ca35cbba00947f0db905e90d106",
+ "17d9e6841571e4dbc380e1768a4c667a365de5f9",
"testharness"
],
"IndexedDB/idbindex_openCursor2.htm": [
- "7ce967e0b98274789842d39825258e80aad7704e",
+ "13e55fff1d6fdb5a22adcfbe17f3b9aa1422734b",
"testharness"
],
"IndexedDB/idbindex_openCursor3.htm": [
- "fea479e9cc16d6588762db5213d1c364cfbb4177",
+ "02beb0042ab180bae1ad91d68a3c4f34e7b8b181",
"testharness"
],
"IndexedDB/idbindex_openKeyCursor.htm": [
- "e158802911e599760b9715ec63896eb71a0508a2",
+ "c88a13db07685cf14ecb983a129026d08e27be64",
"testharness"
],
"IndexedDB/idbindex_openKeyCursor2.htm": [
- "d8354c2fdaadcee917c967d2dc47c4057d6e5c34",
+ "9153b11b8df6e445c8918aab50c09418bf14cf91",
"testharness"
],
"IndexedDB/idbindex_openKeyCursor3.htm": [
- "f009cef49ac7a14209b4c09b7026a31d955b85ef",
+ "1c7f86f8d98df3f042a1958e0046c712d4758dc5",
"testharness"
],
"IndexedDB/idbindex_openKeyCursor4.htm": [
- "bf134dff18a3bf6278b0c659b32e01652e4b984b",
+ "32bc088f257e212703b8478e6eee53cbd11374d0",
"testharness"
],
"IndexedDB/idbindex_reverse_cursor.any.js": [
@@ -472201,47 +480065,47 @@
"testharness"
],
"IndexedDB/idbkeyrange-includes.htm": [
- "9a408e888a42d2f79eaf2ed2f30311fbaa596625",
+ "96769ae0a909f1234893331e4d3c4c8ceb832873",
"testharness"
],
"IndexedDB/idbkeyrange.htm": [
- "a7f4934e0957063b114f4ba8851d6ec523733b4b",
+ "7a2db3e9c2b0a2f49ea6753c4d2d02aa1f16f0b4",
"testharness"
],
"IndexedDB/idbkeyrange_incorrect.htm": [
- "0449ca8073231489345e9d6b32a8ac047278ce95",
+ "931ed518b9e3c38827f6536ea501d4f0f0d8a87e",
"testharness"
],
"IndexedDB/idbobjectstore-add-put-exception-order.html": [
- "6c76b6220cb62a78a4ace3b0e54469c2d2bcd16d",
+ "71ea2a07f4efc1cbc4ed766f23882b331053962f",
"testharness"
],
"IndexedDB/idbobjectstore-clear-exception-order.html": [
- "e2a77073fcdecf22dd4d82be45c1f470be265fcd",
+ "b5678d98afdc5b0c7596c8d9c96573424fbad77d",
"testharness"
],
"IndexedDB/idbobjectstore-delete-exception-order.html": [
- "9a383e39140ba88028996d79a3a551b427bf34a6",
+ "671dfa4b35eaec7d6d1a12a0fe3692fed7ff0bae",
"testharness"
],
"IndexedDB/idbobjectstore-deleteIndex-exception-order.html": [
- "5b069c6474bfaab81700475e0384554bd8fb3f71",
+ "389e7a32393b126fb9c89f99a092df3cb03b3afb",
"testharness"
],
"IndexedDB/idbobjectstore-getAll-enforcerange.html": [
- "14e8b27e9013a2afb58518a221d5e4e4b8a82771",
+ "80c653b38642443b595487b35e2e838ad249e584",
"testharness"
],
"IndexedDB/idbobjectstore-getAllKeys-enforcerange.html": [
- "15b45ac97d2ba5e004024af7494eaf2e9037bb95",
+ "3653d1d5a1f41f3a0e23a7d5b18c51dfea9c0f1e",
"testharness"
],
"IndexedDB/idbobjectstore-index-finished.html": [
- "75677cf39dc33736e848d9369c8f6a1cb33055b9",
+ "cc8dceaf42e6094bb613f27ffd1d9749d86fe859",
"testharness"
],
"IndexedDB/idbobjectstore-query-exception-order.html": [
- "b4d134fea85151f30ccbdfb914cdb2427a258532",
+ "24d10555b75d9332c52908928625f7c3d4b5c72a",
"testharness"
],
"IndexedDB/idbobjectstore-rename-abort.html": [
@@ -472249,11 +480113,11 @@
"testharness"
],
"IndexedDB/idbobjectstore-rename-errors.html": [
- "9c791f9d9b2b41d39e9a7127df0c15ecbc5f9d22",
+ "3a90955ae762d38903585b80e4db2710abbc636f",
"testharness"
],
"IndexedDB/idbobjectstore-rename-store.html": [
- "d21cb92148328f071b209ff1d1526d9a84e8dfd5",
+ "7556ec192e81ba09aeff7521ffff3e12a90a7274",
"testharness"
],
"IndexedDB/idbobjectstore-request-source.html": [
@@ -472269,19 +480133,19 @@
"testharness"
],
"IndexedDB/idbobjectstore_add10.htm": [
- "f2bf447500da299b91c9ebbe5a118798ce9d8593",
+ "59594f828876a02d61f32b9f7b26305bfa6687ff",
"testharness"
],
"IndexedDB/idbobjectstore_add11.htm": [
- "99ff14c31b391f13495a8b453f25463712350093",
+ "ba2450fb2508302bffa75e8344c263c143f584aa",
"testharness"
],
"IndexedDB/idbobjectstore_add12.htm": [
- "d679af08b41fc92814e341e43e06c2eb078f5a2b",
+ "6ffa9db79a0695d5aa22b51781fcd23034018a15",
"testharness"
],
"IndexedDB/idbobjectstore_add13.htm": [
- "943a6cf9bafe61023f3c255a0b53f281b898bf64",
+ "fb4fc2dbab6a35c9c18deed6403a016eccc24d68",
"testharness"
],
"IndexedDB/idbobjectstore_add14.htm": [
@@ -472289,11 +480153,11 @@
"testharness"
],
"IndexedDB/idbobjectstore_add15.htm": [
- "268ed72e935dc80818e85f7756785ac4ca5b001c",
+ "ff7483892444e3bd20fb69249158baa92d5064b4",
"testharness"
],
"IndexedDB/idbobjectstore_add16.htm": [
- "391b9445802023ef7b42b94c01ef3ff73c246762",
+ "f20d7962705ecc7fa0162dd743f7d513e647fddf",
"testharness"
],
"IndexedDB/idbobjectstore_add2.htm": [
@@ -472325,7 +480189,7 @@
"testharness"
],
"IndexedDB/idbobjectstore_add9.htm": [
- "6e027a11dc4bb3a77bb70b38df6eb3acc5f7225a",
+ "5babf368cbc23db7a1b18a5ec5c7ee1ad4bfe0ac",
"testharness"
],
"IndexedDB/idbobjectstore_clear.htm": [
@@ -472337,11 +480201,11 @@
"testharness"
],
"IndexedDB/idbobjectstore_clear3.htm": [
- "fc0fa4d8dffe057be81a5d8c1e4a10ebbe746044",
+ "41e6566b6c2625d6bf3fba9961250ef45637d881",
"testharness"
],
"IndexedDB/idbobjectstore_clear4.htm": [
- "4e08f6738719245c412698d5b75b7d86649dd5d9",
+ "9812c3d33b1a57aa4cb9d844c1303fb59cc8d385",
"testharness"
],
"IndexedDB/idbobjectstore_count.htm": [
@@ -472357,7 +480221,7 @@
"testharness"
],
"IndexedDB/idbobjectstore_count4.htm": [
- "50dd6fe5489ffbefcadb9aa2f409ed578cb86509",
+ "8c9170e7e3bc5c77c3b2d70bda0f85bfde183036",
"testharness"
],
"IndexedDB/idbobjectstore_createIndex.htm": [
@@ -472365,23 +480229,23 @@
"testharness"
],
"IndexedDB/idbobjectstore_createIndex10.htm": [
- "757296253d490449449c5dec972e9f06f0d0621a",
+ "bb91b7c17bc300390f5491c06c0925c53a3da703",
"testharness"
],
"IndexedDB/idbobjectstore_createIndex11.htm": [
- "7da1169e4c2fab27f806c353ad8dd50642e33272",
+ "47f06c3e1e4a3d9900fb243dc65b1a1e6d229092",
"testharness"
],
"IndexedDB/idbobjectstore_createIndex12.htm": [
- "18296b4adbea9ef5cf1128e48b7e8f9fec0531c7",
+ "68214e54e941c78f6c951eb05bffa99bb87a97b1",
"testharness"
],
"IndexedDB/idbobjectstore_createIndex13.htm": [
- "ac32df6629087da9dcf651a8c4d3e3b1b40e7a82",
+ "839abdb009e9bf1bc368ca0943556676b73e0b59",
"testharness"
],
"IndexedDB/idbobjectstore_createIndex14-exception_order.htm": [
- "a0ec288cb3808d7e32e3100bb9c537d30895bbd5",
+ "c0e6c6f838743ca8cafbd2db4cbe708e6cbdba19",
"testharness"
],
"IndexedDB/idbobjectstore_createIndex15-autoincrement.htm": [
@@ -472441,19 +480305,19 @@
"testharness"
],
"IndexedDB/idbobjectstore_delete6.htm": [
- "01d54dee93b3084b948a65f3f4cf3b627f12e940",
+ "4481387ccfd191102f2bad1ca754f186a3b55e78",
"testharness"
],
"IndexedDB/idbobjectstore_delete7.htm": [
- "98831c5da8ab1d18fbc37a7b91c2ad901d387837",
+ "aa7eb1ac6a255a4e777f457b5e01ba9d8c9e23f6",
"testharness"
],
"IndexedDB/idbobjectstore_deleteIndex.htm": [
- "ebebbb7db486a35669f255b5349b2675dd0b7245",
+ "f4fccd61309641ca97b5a5f5cfd4c11d67b0fb4f",
"testharness"
],
"IndexedDB/idbobjectstore_deleted.htm": [
- "4a5c0cca2b7d61fbbd80822dafdba4ada7d7b0d3",
+ "f5a383e75cbc4dd292dbe93299ce388c55449266",
"testharness"
],
"IndexedDB/idbobjectstore_get.htm": [
@@ -472477,11 +480341,11 @@
"testharness"
],
"IndexedDB/idbobjectstore_get6.htm": [
- "33381a684b6966f0a33f979ed3b29b49681aa39c",
+ "c996ec4946c69c603fc0cd7df509a2005e70aa8c",
"testharness"
],
"IndexedDB/idbobjectstore_get7.htm": [
- "570441b66342fc8d6617b23d98d3f02f9316b799",
+ "dbbfa0d46f567bf972af1b0fdf737f6b79ac25a7",
"testharness"
],
"IndexedDB/idbobjectstore_getAll.html": [
@@ -472493,7 +480357,7 @@
"testharness"
],
"IndexedDB/idbobjectstore_getKey.html": [
- "ddb78b11213238cf946c9a53321606fa0a08c40e",
+ "9e3662502de0a2ef86d3a0d61960d168f1c8ab06",
"testharness"
],
"IndexedDB/idbobjectstore_index.htm": [
@@ -472509,11 +480373,11 @@
"testharness"
],
"IndexedDB/idbobjectstore_openCursor_invalid.htm": [
- "a142a3a455982e53831f21f4e091894af1417ab6",
+ "5911686d3528da68ad548a79b5e4533225f306fa",
"testharness"
],
"IndexedDB/idbobjectstore_openKeyCursor.htm": [
- "345845965fe009b11ebfa2cde83d169e573e11b8",
+ "0880a23c37d930bd526bf30da01bff67443d743f",
"testharness"
],
"IndexedDB/idbobjectstore_put.htm": [
@@ -472521,19 +480385,19 @@
"testharness"
],
"IndexedDB/idbobjectstore_put10.htm": [
- "d0de11c3e30ce2fb63c3b530d6a75519619a1524",
+ "cc8770ef9b52323e589e699b477964ed1bc2712d",
"testharness"
],
"IndexedDB/idbobjectstore_put11.htm": [
- "9a13757ef200d2df11c8e76a541e3ced3f15fa5d",
+ "d9802aa01745eb88ae72384307716492eace6173",
"testharness"
],
"IndexedDB/idbobjectstore_put12.htm": [
- "24970dff080b2dbe17284b779728b0c0fa8fff8d",
+ "5d4f544cdbd318a2a6196dc92bbc8a87ad066f20",
"testharness"
],
"IndexedDB/idbobjectstore_put13.htm": [
- "870c8e4a718420542aaa767217520505846f889e",
+ "ecd0515b87129759638f22fbbfe93f99fad6a4d0",
"testharness"
],
"IndexedDB/idbobjectstore_put14.htm": [
@@ -472541,11 +480405,11 @@
"testharness"
],
"IndexedDB/idbobjectstore_put15.htm": [
- "cf2c35435cf513c3a329411bc9b0c44b8e3944e2",
+ "5d1b8d409167b66545af086e4858248b1021380f",
"testharness"
],
"IndexedDB/idbobjectstore_put16.htm": [
- "4818dd25dd9105403db2c9f7c576fa651a065b9d",
+ "fe187e5508f607e1c357a229462656ff91c42450",
"testharness"
],
"IndexedDB/idbobjectstore_put2.htm": [
@@ -472577,7 +480441,7 @@
"testharness"
],
"IndexedDB/idbobjectstore_put9.htm": [
- "6e50a0b296d3ffe2496d0e8b155e36daa89f5cca",
+ "0fa6dc75797c2b522d329946a8a9136bab98ab44",
"testharness"
],
"IndexedDB/idbrequest-onupgradeneeded.htm": [
@@ -472585,11 +480449,11 @@
"testharness"
],
"IndexedDB/idbrequest_error.html": [
- "ae16b695a3fa15f003bb0af2db2b2693e705fb95",
+ "651a844d29dae291da08af72fa704860c5b913fd",
"testharness"
],
"IndexedDB/idbrequest_result.html": [
- "297862901633197efa4edc07601cca1cddfe3103",
+ "f77aba7dfe4114d56eebcea895dd00f919324209",
"testharness"
],
"IndexedDB/idbtransaction-db-SameObject.html": [
@@ -472597,11 +480461,11 @@
"testharness"
],
"IndexedDB/idbtransaction-objectStore-exception-order.html": [
- "6bae783ecd783cf67a04c358d26197b98abcbeb3",
+ "4b7659ff0bf9ea671bb43488a231760db7656baa",
"testharness"
],
"IndexedDB/idbtransaction-objectStore-finished.html": [
- "5e363ea3bb0b9bc7077ebbf72c3aa51d614dfd8e",
+ "e1a8500b17a915a787ece533b2803d805410d901",
"testharness"
],
"IndexedDB/idbtransaction-oncomplete.htm": [
@@ -472649,7 +480513,7 @@
"testharness"
],
"IndexedDB/key-conversion-exceptions.htm": [
- "4dd5d9005b6cb6e4c2c7dccaef62804bfcdb73ec",
+ "36d67d8f07dcaf8becc68d1e96711c6d98534a18",
"testharness"
],
"IndexedDB/key-generators/reading-autoincrement-common.js": [
@@ -472673,7 +480537,7 @@
"testharness"
],
"IndexedDB/key_invalid.htm": [
- "98c9140df9ff56f6304d0b997433048d0836a186",
+ "c3c61ead23cf434a8a9806cc3d5f5489833d8280",
"testharness"
],
"IndexedDB/key_valid.html": [
@@ -472689,7 +480553,7 @@
"testharness"
],
"IndexedDB/keygenerator-inject.html": [
- "fcdd7d6f4a6563be0c66361be515d1e670f76ca0",
+ "301e92304370591237a5ab50ca0e260f37234c2a",
"testharness"
],
"IndexedDB/keygenerator-overflow.htm": [
@@ -472705,7 +480569,7 @@
"testharness"
],
"IndexedDB/keypath-exceptions.htm": [
- "6d7937c522f62c609b6089558cadf7e3c4b13558",
+ "62fce352baffd1c183a36376b50234b6bf1b5822",
"testharness"
],
"IndexedDB/keypath-special-identifiers.htm": [
@@ -472717,7 +480581,7 @@
"testharness"
],
"IndexedDB/keypath_invalid.htm": [
- "1a4357bb5d5f3bf072daf40ccf9c9ffe45c7488d",
+ "470ff2681b343b9c32be94fb5bf2bd5709c46c48",
"testharness"
],
"IndexedDB/keypath_maxsize.htm": [
@@ -472785,11 +480649,11 @@
"testharness"
],
"IndexedDB/structured-clone-transaction-state.any.js": [
- "8c41d3b72bfc4b72565745531b832b4320729af1",
+ "5494bc51eb02848a8cbe9cf1a07fca4839edd3d9",
"testharness"
],
"IndexedDB/structured-clone.any.js": [
- "e03ba7aeee47bcd8ae75e2210fc2165581c0a82f",
+ "d21e64d37c169e841b666c25d8bd7b315b118d49",
"testharness"
],
"IndexedDB/support-promises.js": [
@@ -472805,15 +480669,15 @@
"testharness"
],
"IndexedDB/transaction-abort-index-metadata-revert.html": [
- "0b216f633e6ee4ace276f86a5bd7f7c036298b9a",
+ "355fbbc31feb6218b2ffd08f7b54cff34cd89ce1",
"testharness"
],
"IndexedDB/transaction-abort-multiple-metadata-revert.html": [
- "ac61788822dd8969915e421b803fdd8167432f38",
+ "ca63eaaad3714a4a7bf4ae5942a094cfb9f3614a",
"testharness"
],
"IndexedDB/transaction-abort-object-store-metadata-revert.html": [
- "decc45a5ee41cdcc04213fa5581eda31101ff7a8",
+ "bcdcd1a22fd79791c212c4cc9eabe74b595316d7",
"testharness"
],
"IndexedDB/transaction-abort-request-error.html": [
@@ -472821,7 +480685,7 @@
"testharness"
],
"IndexedDB/transaction-create_in_versionchange.htm": [
- "4d98c000408c2cbc39d8e4dd44b6309beefb122d",
+ "0bfb4a87b911b841cdb7efd25c20f1d203ba07e2",
"testharness"
],
"IndexedDB/transaction-deactivation-timing.html": [
@@ -472841,7 +480705,7 @@
"testharness"
],
"IndexedDB/transaction-relaxed-durability.tentative.any.js": [
- "865c28ce163c2dea2f55b25ec1145cb8bcc6bb45",
+ "7e17403eb0c202c5cccbee19b8cffd0d9de98ac2",
"testharness"
],
"IndexedDB/transaction-requestqueue.htm": [
@@ -472857,15 +480721,15 @@
"testharness"
],
"IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html": [
- "9a7c4b42f50376fb71527ba62a583c37f3e9068b",
+ "b516788e0959380ce30a7635a1fa9ee438d57aac",
"testharness"
],
"IndexedDB/upgrade-transaction-lifecycle-committed.html": [
- "366ed38cb8aea1b2329bdacb52054cb6ddda58fa",
+ "53afc13259ed654f6db345ecfa78c898f56db821",
"testharness"
],
"IndexedDB/upgrade-transaction-lifecycle-user-aborted.html": [
- "9db93db93d3b187e5587c82edfb557c1c12187d3",
+ "8dff86196cf5db54f6148d4e9876ba9beb5828cf",
"testharness"
],
"IndexedDB/value.htm": [
@@ -473109,7 +480973,7 @@
"testharness"
],
"WebCryptoAPI/getRandomValues.any.js": [
- "dd970ebfa60cdc96c64da1c9d7f326bc1bcaad01",
+ "473d57fc460917535719607a4bd13fe8f8e9547f",
"testharness"
],
"WebCryptoAPI/historical.any.js": [
@@ -473241,7 +481105,7 @@
"testharness"
],
"WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js": [
- "d584c25f81e517051adff7ffc4c469d2bee1fe3e",
+ "8f1a60287c205ef3bd529442d7f706806c2b4bb3",
"support"
],
"WebIDL/META.yml": [
@@ -473273,15 +481137,15 @@
"testharness"
],
"WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js": [
- "8d69c6e0707a53a31aebb604d696a7255a83f77d",
+ "ed05d27646f606f379fa821bd9358d1be3455f65",
"testharness"
],
"WebIDL/ecmascript-binding/es-exceptions/exceptions.html": [
- "396d0a4c6c6de3fc00dd60467e46a20844de6f4e",
+ "d26c66266994b2e349b4c81d42bc2f66353e6840",
"testharness"
],
"WebIDL/ecmascript-binding/global-immutable-prototype.any.js": [
- "7b97e062c9d7c7b6ae705ef8432dfb5481595beb",
+ "6291c3ae935608185385e87f769e4f8b5be6cf19",
"testharness"
],
"WebIDL/ecmascript-binding/has-instance.html": [
@@ -473301,15 +481165,15 @@
"testharness"
],
"WebIDL/ecmascript-binding/iterator-prototype-object.html": [
- "5a935fa20135d88a7268b872b68ab7fe548ab5c7",
+ "466973dc08f0e309ef847283d7fd4fb46a528d0b",
"testharness"
],
"WebIDL/ecmascript-binding/legacy-callback-interface-object.html": [
- "01a008d108cd57f2cc6c862644bdab366fdefb9d",
+ "f5b49e221f78556c8d425331244e114b933090e2",
"testharness"
],
"WebIDL/ecmascript-binding/legacy-platform-object.html": [
- "a5327e97d049136df87fca44146aa5f158b02fb4",
+ "55e3c08addd7cdf91f590524646ff15bfec3dcc6",
"testharness"
],
"WebIDL/ecmascript-binding/no-regexp-special-casing.any.js": [
@@ -473317,11 +481181,11 @@
"testharness"
],
"WebIDL/ecmascript-binding/put-forwards.html": [
- "83ec534b2b358d47cdc4498155dbbca565fc3883",
+ "6a13587899b3ada1fcd661eccf49e49f04deb54b",
"testharness"
],
"WebIDL/ecmascript-binding/sequence-conversion.html": [
- "3b45310dd5faa9bc5277e8d6032d159f375eefcd",
+ "cdd3bac2ec92fb8627bc9d804f67838beb9c64f9",
"testharness"
],
"WebIDL/ecmascript-binding/support/constructors-support.html": [
@@ -474773,7 +482637,7 @@
"reftest"
],
"animation-worklet/worklet-animation-creation.https.html": [
- "5d033b30099dc34017f54d0a3afd10278bbb31a6",
+ "ae90fa288149e675725f960f3a739effa0406af1",
"testharness"
],
"animation-worklet/worklet-animation-duration.https.html": [
@@ -474857,7 +482721,7 @@
"testharness"
],
"animation-worklet/worklet-animation-with-invalid-effect.https.html": [
- "8b72d4e487c455f5e3d4d535a4ddf277fd988d01",
+ "75261d251cc1938e7999a76438dd3db64a27fe0d",
"testharness"
],
"animation-worklet/worklet-animation-with-non-ascii-name-ref.html": [
@@ -476581,7 +484445,7 @@
"testharness"
],
"beacon/beacon-error.sub.window.js": [
- "f2c5e95a276c257387e1cd85c2bcb70090d1132c",
+ "499fa3b27213f2b5958c0c90cd76eaa382bb0bee",
"testharness"
],
"beacon/beacon-navigate.html": [
@@ -476589,7 +484453,7 @@
"testharness"
],
"beacon/beacon-readablestream.window.js": [
- "fc7f81f884bdf47b6eb76f6d9b237bc38556efa4",
+ "46e30fcda5cc85f94d08b612236d952cb316dfb8",
"testharness"
],
"beacon/beacon-redirect.window.js": [
@@ -476833,15 +484697,15 @@
"support"
],
"bluetooth/idl/idl-Bluetooth.https.html": [
- "9578fd6af21b0c39e51ee7d94ff6bfda677695b3",
+ "7322df53e5c227571d5155550e07aca4ed3688e5",
"testharness"
],
"bluetooth/idl/idl-BluetoothDevice.https.html": [
- "707ac1ab03a92ceca6a0c327132dcf54728327b8",
+ "6030d4e5acdcda0ac80d63100c8e6573c6194ae2",
"testharness"
],
"bluetooth/idl/idl-BluetoothUUID.html": [
- "14463127e06b422a2830042bb887e5108e200753",
+ "13e00226ade144f66161dde76f5584514874b1c7",
"testharness"
],
"bluetooth/idl/idl-NavigatorBluetooth.html": [
@@ -477520,14 +485384,26 @@
"e3a5edae1c7f9541c6309181f274ff2a4c4e2f80",
"support"
],
+ "client-hints/accept-ch-answers.sub.https.html": [
+ "8070d8bb297e94fce242d5df27d5e286d37fd289",
+ "testharness"
+ ],
+ "client-hints/accept-ch-answers.sub.https.html.headers": [
+ "4f3a57b865b8b58fd5c037976880de8e6cc184da",
+ "support"
+ ],
"client-hints/accept-ch-cache-revalidation.https.html": [
- "6133e8ad2d7ca0c9c806af364255deb7688c79fd",
+ "1bbf5aa6de67221968a6c6029e88e7202aff8544",
"testharness"
],
"client-hints/accept-ch-cache-revalidation.https.html.headers": [
"05b7a4a6f6fcb91b18f2a0e767010e81c9329fb8",
"support"
],
+ "client-hints/accept-ch-change.https.html": [
+ "3d291e3f0665d08257f8fcabdb1bc8ffa5fbc671",
+ "testharness"
+ ],
"client-hints/accept-ch-feature-policy-navigation.https.html": [
"dff960d28709ae6888f0da0b221e93c7b160e7e6",
"testharness"
@@ -477536,6 +485412,22 @@
"f9595a794d9c93dca09f371f5797399a9204ed53",
"support"
],
+ "client-hints/accept-ch-feature-policy.sub.https.html": [
+ "4444dc428e0576777912ffb17e739210a2f96710",
+ "testharness"
+ ],
+ "client-hints/accept-ch-feature-policy.sub.https.html.headers": [
+ "cf453cf368ddfb8096a62ad9720af877480bcc07",
+ "support"
+ ],
+ "client-hints/accept-ch-malformed-header.https.html": [
+ "b35e4768dcb8370db505537f1011d6f3073e87f4",
+ "testharness"
+ ],
+ "client-hints/accept-ch-malformed-header.https.html.headers": [
+ "6d23758273ba2cc4a7ec865a523b549cd8a49875",
+ "support"
+ ],
"client-hints/accept-ch-no-feature-policy-navigation.https.html": [
"5fb6c22f50873ce597e6d5ed04c1ebeef64a17c1",
"testharness"
@@ -477544,6 +485436,26 @@
"7eb28a000bdde9634e618701e2ba512e4a9ebc49",
"support"
],
+ "client-hints/accept-ch-no-feature-policy.sub.https.html": [
+ "8d786b877f1c8ba6677e2d836d1407dd127e71fe",
+ "testharness"
+ ],
+ "client-hints/accept-ch-no-feature-policy.sub.https.html.headers": [
+ "c6391a863e698c68b206c2c06311ae85d161d285",
+ "support"
+ ],
+ "client-hints/accept-ch-non-secure.http.html": [
+ "707108a12b20798dc3259342d60cc228beea3f7f",
+ "testharness"
+ ],
+ "client-hints/accept-ch-non-secure.http.html.headers": [
+ "4f3a57b865b8b58fd5c037976880de8e6cc184da",
+ "support"
+ ],
+ "client-hints/accept-ch-stickiness/README.md": [
+ "7dd1c6ddaf795769ce06682ef9abd68eeff1ddc4",
+ "support"
+ ],
"client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-other-origins.https.html": [
"5316c2874cf624751f846d554b35b57e8630af40",
"testharness"
@@ -477589,7 +485501,7 @@
"testharness"
],
"client-hints/accept-ch-stickiness/resources/accept-ch-test.js": [
- "0ee5059cb677090c65cdb8b5cade69df7578f901",
+ "46b499a5e4180f0ec1548f37ed2230af3eb7c5a8",
"support"
],
"client-hints/accept-ch-stickiness/resources/accept-ch.html": [
@@ -477640,88 +485552,56 @@
"0b7151a2cca08d941d313e014e41769c08c350cc",
"testharness"
],
- "client-hints/accept_ch.http.html": [
- "50d77646f89aea13c212c6ecee4e7f32107007e9",
- "testharness"
- ],
- "client-hints/accept_ch.http.html.headers": [
- "4f3a57b865b8b58fd5c037976880de8e6cc184da",
- "support"
- ],
- "client-hints/accept_ch.tentative.https.html": [
- "0f8b525576e0d67baa2ca23381c620909d12e539",
+ "client-hints/http-equiv-accept-ch-malformed-header.https.html": [
+ "d7c6b8dfb063f256a0f2442cad7f866ddd401ec1",
"testharness"
],
- "client-hints/accept_ch.tentative.sub.https.html": [
- "43c1fb12c2005e08b75f7cdfb24e6ad1a90ead1a",
+ "client-hints/http-equiv-accept-ch-non-secure.http.html": [
+ "909ab5f5f2a563348da0d0bb3377961f1015d031",
"testharness"
],
- "client-hints/accept_ch.tentative.sub.https.html.headers": [
- "4f3a57b865b8b58fd5c037976880de8e6cc184da",
+ "client-hints/resources/accept-ch-different.html": [
+ "05cc0b61b07c36fca5816e277df1dc98e70d9ba1",
"support"
],
- "client-hints/accept_ch_feature_policy.tentative.sub.https.html": [
- "1df308ab2f82628fc251c5db21929d55193897f0",
- "testharness"
- ],
- "client-hints/accept_ch_feature_policy.tentative.sub.https.html.headers": [
- "cf453cf368ddfb8096a62ad9720af877480bcc07",
+ "client-hints/resources/accept-ch-different.html.headers": [
+ "255a362f0bfe42dc14271fc9b996341b9c47d106",
"support"
],
- "client-hints/accept_ch_malformed_header.https.html": [
- "70ccab8c80d0576a1f745703c77351fe21785fb6",
- "testharness"
- ],
- "client-hints/accept_ch_malformed_header.https.html.headers": [
- "6d23758273ba2cc4a7ec865a523b549cd8a49875",
+ "client-hints/resources/accept-ch-empty.html": [
+ "27393e5a1ab2d9eb883e1a9e0da0e92cedef3a11",
"support"
],
- "client-hints/accept_ch_no_feature_policy.tentative.sub.https.html": [
- "02fbf8975b85a4525867c969028a6bcdbd1f7606",
- "testharness"
- ],
- "client-hints/accept_ch_no_feature_policy.tentative.sub.https.html.headers": [
- "c6391a863e698c68b206c2c06311ae85d161d285",
+ "client-hints/resources/accept-ch-empty.html.headers": [
+ "25215abdf7376ede28190981f543ae339552284d",
"support"
],
- "client-hints/echo_client_hints_received.py": [
- "7427a3878e1a41aa7b8f589834bc1b5139f693a3",
+ "client-hints/resources/accept-ch.html": [
+ "1f1da26cebe45d3e55fe4aea8af6cefcae94adb5",
"support"
],
- "client-hints/echo_ua_client_hints_received.py": [
- "a713047ede62874d33bc62540166303e8a7fc444",
+ "client-hints/resources/accept-ch.html.headers": [
+ "833b8d0e4c2f514efc31b4c409266f981695c201",
"support"
],
- "client-hints/http_equiv_accept_ch.tentative.http.html": [
- "03c5799908b971ec6e6057fb8e5325e1bc2e203d",
- "testharness"
- ],
- "client-hints/http_equiv_accept_ch.tentative.https.html": [
- "2830cb714fad4be98ddcf0ccf7594b749e77b50d",
- "testharness"
- ],
- "client-hints/http_equiv_accept_ch.tentative.sub.https.html": [
- "16617dccaf8c9c99011849b48d93e41f35ca374a",
- "testharness"
- ],
- "client-hints/http_equiv_accept_ch_malformed_header.tentative.https.html": [
- "dd516a97c965f4a248fa27ed8ce71dae6251e106",
- "testharness"
- ],
- "client-hints/resources/accept_ch.html": [
- "48d09f2d95c57875b71b088c2db8ce9585f5a237",
+ "client-hints/resources/echo-client-hints-received.py": [
+ "d978754a20509a5b488d06af73efc9806d67537e",
"support"
],
- "client-hints/resources/accept_ch.html.headers": [
- "91ee40652f06508478bb776bf4068fd61277cef3",
+ "client-hints/resources/echo-ua-client-hints-received.py": [
+ "9cf1f8e32ffe3e1079a9ae48303ff314210aa145",
"support"
],
"client-hints/resources/expect-client-hints-headers-iframe.py": [
"e72d77c47d9aae36c619e8e065e5685f7a9c166b",
"support"
],
- "client-hints/resources/expect_client_hints_headers.html": [
- "8e64b1989ab2046952f91920245423caebb2a706",
+ "client-hints/resources/expect-client-hints-headers.html": [
+ "1c2062ec6c10d94ffb3aa17957dd12153b7f8b35",
+ "support"
+ ],
+ "client-hints/resources/expect-different-client-hints-headers.html": [
+ "951781124a250595d8d72f803930dc8d6357f390",
"support"
],
"client-hints/resources/feature-policy-navigation.js": [
@@ -477736,6 +485616,10 @@
"8e6dc72dda620dc0508d02009e6cc58631a00e7b",
"support"
],
+ "client-hints/resources/open-and-add-load-event.js": [
+ "7100c3f48a5b643c66434efdb180ea0ccb3a7dc3",
+ "support"
+ ],
"client-hints/resources/sec-ch-ua.py": [
"a14a27dadf9e333784a5c636c821634b387e475f",
"support"
@@ -477745,7 +485629,7 @@
"support"
],
"client-hints/sec-ch-quotes.https.html": [
- "86dce18904b0636092247c42ecb06fdd4fc7bc32",
+ "edf4fce785e83a349a57c94371e5d22f867977ed",
"testharness"
],
"client-hints/sec-ch-quotes.https.html.headers": [
@@ -477789,7 +485673,7 @@
"testharness"
],
"clipboard-apis/clipboard-item.https.html": [
- "fe5e76ccbb4379ed3a29bdea43d56d882b5d041b",
+ "3a2ade564c785fc3c1144d331742bb614e2371f4",
"testharness"
],
"clipboard-apis/events/copy-event-manual.html": [
@@ -478077,7 +485961,7 @@
"support"
],
"common/stringifiers.js": [
- "b59ca9c246f75a72d532d58ef628824f8905ff7a",
+ "63544f9ed00f1edfd459ee7c8e9ee77aff7e0110",
"support"
],
"common/stringifiers.js.headers": [
@@ -478093,7 +485977,7 @@
"support"
],
"common/test-setting-immutable-prototype.js": [
- "de619b1d76663d0f41f13b720609bd4cc28747c2",
+ "de9bdd5919a794b765e4f5bdd8c0b0ac524227f2",
"support"
],
"common/test-setting-immutable-prototype.js.headers": [
@@ -478317,7 +486201,7 @@
"testharness"
],
"compression/compression-stream.tentative.any.js": [
- "47df70f7cd3979c1a3eab45581376fd38a6b2367",
+ "cf645c41c722f4f92fac0a1199881d3fe683b50f",
"testharness"
],
"compression/decompression-bad-chunks.tentative.any.js": [
@@ -478329,7 +486213,7 @@
"testharness"
],
"compression/decompression-constructor-error.tentative.any.js": [
- "9ffdb08ce2ff365f70af8121f82e5856c6de9533",
+ "7840b3a36cdd95cb5b97a489fefd6753317415c7",
"testharness"
],
"compression/decompression-correct-input.tentative.any.js": [
@@ -495917,7 +503801,7 @@
"testharness"
],
"console/console-label-conversion.any.js": [
- "1fb269d4061c61112f4c3cbe609dafd80a4e0591",
+ "4d48df3b1d0d00c1f0dd8778306db4b7bb00285d",
"testharness"
],
"console/console-number-format-specifiers-symbol-manual.html": [
@@ -496285,7 +504169,7 @@
"support"
],
"content-security-policy/embedded-enforcement/support/testharness-helper.sub.js": [
- "3b84db0852249ef0ed38ef6053086561cf83bde8",
+ "238daef65d2fb7b3cdce104699038d3456bb8de6",
"support"
],
"content-security-policy/font-src/font-match-allowed.sub.html": [
@@ -496917,7 +504801,7 @@
"support"
],
"content-security-policy/inside-worker/support/script-src-self.sub.js": [
- "b0d557645da187864fa446c0ac3ecd552a7041ff",
+ "c5733d64cc9691a8bf1dcc6497134bfea39f7263",
"support"
],
"content-security-policy/media-src/media-src-7_1.html": [
@@ -497845,7 +505729,7 @@
"testharness"
],
"content-security-policy/script-src/script-src-1_4.html": [
- "bfc66b2a8d048dcf21e9b9216f298368ce158677",
+ "4c975471161972f34ba7a96f486b0344dd7b8898",
"testharness"
],
"content-security-policy/script-src/script-src-1_4_1.html": [
@@ -497853,7 +505737,7 @@
"testharness"
],
"content-security-policy/script-src/script-src-1_4_2.html": [
- "0ee6f587c5ce1683ba0f2887d3865dae820f7d63",
+ "6d6f23e741c3a9015bd1f9b2bae9253f8cd99206",
"testharness"
],
"content-security-policy/script-src/script-src-multiple-policies-multiple-hashing-algorithms.html": [
@@ -497949,7 +505833,7 @@
"support"
],
"content-security-policy/script-src/script-src-strict_dynamic_eval.html": [
- "62fda4f3d23051be27e377c4bfb3699068ba0460",
+ "459d69aefe89fac5ff1b4819f1a533e7958334e0",
"testharness"
],
"content-security-policy/script-src/script-src-strict_dynamic_eval.html.headers": [
@@ -497989,7 +505873,7 @@
"support"
],
"content-security-policy/script-src/script-src-strict_dynamic_new_function.html": [
- "2b75276588f28f41764403a62a3659bbf0dc8471",
+ "263d5d1d874260ef02547a55cc9fdad32b98a1c4",
"testharness"
],
"content-security-policy/script-src/script-src-strict_dynamic_new_function.html.headers": [
@@ -498193,7 +506077,7 @@
"testharness"
],
"content-security-policy/securitypolicyviolation/constructor-required-fields.html": [
- "1260c491fc2501b080850b5e523a847d37200127",
+ "1424cdcd7ffafaba543f7b4986c61b4f51a611a3",
"testharness"
],
"content-security-policy/securitypolicyviolation/idlharness.window.js": [
@@ -498609,7 +506493,7 @@
"support"
],
"content-security-policy/support/testharness-helper.js": [
- "d475d05115a59d0d4630894227e7c0a1ae4304ce",
+ "c071a68931562dae4b9862c71f35418efcc69b65",
"support"
],
"content-security-policy/support/var-a.js": [
@@ -502193,7 +510077,7 @@
"testharness"
],
"cors/client-hint-request-headers.htm": [
- "251be668b7dcfd9e9595d7fbcb5b2b4c5d2a2c16",
+ "17fbd3daa3f979e93eea43eb4347fd3d3624c805",
"testharness"
],
"cors/cors-safelisted-request-header.any.js": [
@@ -502213,7 +510097,7 @@
"testharness"
],
"cors/origin.htm": [
- "bd7349e486e1886356342e2b1e0dadc4e8c074a6",
+ "3d46002933bb3ce6e21da8cf6a4cbcd06d50602f",
"testharness"
],
"cors/preflight-cache.htm": [
@@ -502245,7 +510129,7 @@
"testharness"
],
"cors/request-headers.htm": [
- "289f402191ebbd7d47d70e13a58f30b8db62520f",
+ "7634eca9fc8bf1a714bfb355c7e42b38b511d809",
"testharness"
],
"cors/resources/304.py": [
@@ -562545,7 +570429,7 @@
"testharness"
],
"css/css-animations/animationevent-interface.js": [
- "e35b7fcb0f98656cdeff41d8d7f4a7620fa52eea",
+ "fcb7ceba20574691d7d817ee12af3e20f455c20e",
"support"
],
"css/css-animations/animationevent-marker-pseudoelement.html": [
@@ -568177,7 +576061,7 @@
"testharness"
],
"css/css-conditional/js/001.html": [
- "fd9968ded449938cdfa5a10df0acd4a96dcad37c",
+ "5907a492e5736a035d2c92be6764608ee2f73d84",
"testharness"
],
"css/css-conditional/reference/background-lime.html": [
@@ -568185,7 +576069,7 @@
"support"
],
"css/css-conditional/test_group_insertRule.html": [
- "5326501913db15e90a80e5ffc4eb93d62dc2e732",
+ "3818108ac6015616c39b92256305a379c8c7a9f0",
"testharness"
],
"css/css-contain/META.yml": [
@@ -569232,6 +577116,10 @@
"6c61da381803221837b084831bb0f2709ebc88d6",
"reftest"
],
+ "css/css-content/element-replacement-dynamic.html": [
+ "c025759094e8fa1d0ce5d876474477d50877a050",
+ "reftest"
+ ],
"css/css-content/element-replacement-ref.html": [
"d301f1d6a1b047daff753ff2fcb28d626e2f70dd",
"support"
@@ -572084,6 +579972,10 @@
"7148f26e2770b669dfcc69435e3a506882ffd457",
"reftest"
],
+ "css/css-flexbox/dynamic-change-simplified-layout-002.html": [
+ "d419bb3c700cd18b972a741fe0a03454445b80a4",
+ "reftest"
+ ],
"css/css-flexbox/dynamic-change-simplified-layout.html": [
"5d15e22c5eba93488c8e6e667b61306669c32026",
"reftest"
@@ -575897,7 +583789,7 @@
"support"
],
"css/css-fonts/font-synthesis-05.html": [
- "bdbc22f9cfcb3dec401654bc991c9e78a3afacb8",
+ "e521e6c67cf2c69d32c31bab763ca9a644bc7766",
"reftest"
],
"css/css-fonts/font-variant-01-ref.html": [
@@ -583145,7 +591037,7 @@
"testharness"
],
"css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html": [
- "fed4aa508dee7f255cda1a466ed4c2c6a9a271bf",
+ "95fbb9c6994c7a81a18a6d4701a1843276e619eb",
"testharness"
],
"css/css-fonts/variations/font-shorthand.html": [
@@ -584105,7 +591997,7 @@
"testharness"
],
"css/css-grid/alignment/grid-align-stretching-replaced-items.html": [
- "f9b455d4c163af1ffd6cf03a7361316ce1a21246",
+ "6ac50527cd4668dd7edc6c66c07028ac4d8ec6c1",
"testharness"
],
"css/css-grid/alignment/grid-align.html": [
@@ -585232,6 +593124,10 @@
"c1ff70c49ec1e77ba0e794c7537ae90cd503498e",
"testharness"
],
+ "css/css-grid/chrome-bug-001.html": [
+ "7b24f41a47eeb090ec53e9a6e37a4f8a977ca802",
+ "reftest"
+ ],
"css/css-grid/chrome-crash-001.html": [
"c9ea9332a1e49f300c0520b798653869ad82b5c6",
"testharness"
@@ -587576,6 +595472,22 @@
"d321f030023a8e59b8cdd265ae974d01da07e64e",
"reftest"
],
+ "css/css-layout-api/baseline/child-baseline.https.html": [
+ "a871d690117ad00ec83022f72295d0d93d44ec28",
+ "reftest"
+ ],
+ "css/css-layout-api/baseline/flex-baseline.https.html": [
+ "0b0e147a2cfed61fc0bec2e73982d8b89946e958",
+ "reftest"
+ ],
+ "css/css-layout-api/baseline/no-baseline.https.html": [
+ "0bc08552bc5a665e9577a440bf3d5ed798006f59",
+ "reftest"
+ ],
+ "css/css-layout-api/baseline/orthogonal-baseline.https.html": [
+ "c83560b57e85189d5d3e82f5fe5055b305a4c963",
+ "reftest"
+ ],
"css/css-layout-api/box-tree-registered-ref.html": [
"0ba9862015743c319720dd4d97c15d4808565d00",
"support"
@@ -590157,11 +598069,11 @@
"testharness"
],
"css/css-masking/parsing/clip-path-invalid.html": [
- "cf8aa251c38c8888329843cdce0564d54d6f1d3f",
+ "6b91f74ad484d4d0d70fa679db378d04e238125f",
"testharness"
],
"css/css-masking/parsing/clip-path-valid.html": [
- "895cdfacac6cc8ac56e67738aed53e55be7b2fcf",
+ "ec6ac5ae9bc349c8cb1dd473e9f9dc65f4002c97",
"testharness"
],
"css/css-masking/parsing/clip-rule-computed.html": [
@@ -594397,11 +602309,11 @@
"testharness"
],
"css/css-properties-values-api/register-property-syntax-parsing.html": [
- "6d7dbc63a1d38f108a3a10e99b09cddd84b135f7",
+ "31094d25b7965de3402c3e5774847c8abc21d0c2",
"testharness"
],
"css/css-properties-values-api/register-property.html": [
- "5842b83b0a48715f12effa6212cc0cccbd890861",
+ "feb6c28d47e3aa921dc9f5c97c8ee9bcfa00eef9",
"testharness"
],
"css/css-properties-values-api/registered-properties-inheritance.html": [
@@ -594425,7 +602337,7 @@
"support"
],
"css/css-properties-values-api/self-utils.html": [
- "05aa4b2fb03b29feee47177624715230768a44a0",
+ "b770c86c38269656d77c3e382d3fe0391cdd8cd0",
"testharness"
],
"css/css-properties-values-api/support/alt/alt.css": [
@@ -594449,7 +602361,7 @@
"support"
],
"css/css-properties-values-api/typedom.html": [
- "b8e6f4aaf840c017ff7e49c14333c635c8483c50",
+ "51940e298d07707288d9ad6c023f274952966f21",
"testharness"
],
"css/css-properties-values-api/unit-cycles.html": [
@@ -594872,6 +602784,14 @@
"4921ca7d283e99ea426772ffc47b3a9c86329e9a",
"reftest"
],
+ "css/css-pseudo/marker-content-020-ref.html": [
+ "902c8425154b47643fb8f9fac0d8f14cff1263c6",
+ "support"
+ ],
+ "css/css-pseudo/marker-content-020.html": [
+ "5211506d8a17ce278407d2337d760b16f3fd34be",
+ "reftest"
+ ],
"css/css-pseudo/marker-default-styles.html": [
"05da6f89a9e2f858eadfdfb63e5194feda5ce3fc",
"testharness"
@@ -595008,2030 +602928,6 @@
"2e42c6be8fbcfc756c578986517efc0b1739d1f3",
"visual"
],
- "css/css-regions/META.yml": [
- "37bdc98c84c0f4c9a32d3cc5b2f4e3494eb63999",
- "support"
- ],
- "css/css-regions/animations/animations-001.html": [
- "665fae56212ffd54863abf700d5d0e5aa83ab746",
- "manual"
- ],
- "css/css-regions/animations/reference/animations-001-ref.html": [
- "bf8490f1d6a29e649bcd30048e8bc4973f5ef1e3",
- "support"
- ],
- "css/css-regions/animations/support/animations.css": [
- "44e3ad9cbde49db9bc0e48c723956cc6eb933b00",
- "support"
- ],
- "css/css-regions/contentEditable/contentEditable-001.html": [
- "204d23eee2afc3955585b83ade7af482a44d3ef5",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-002.html": [
- "f455178fcba7aa3a5271e1b308a2a2d8240ae40c",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-003.html": [
- "746316c6bc45ed186579144b9da4664fd5312d8c",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-004.html": [
- "d6c34b99d69f79be72fba1b605329ac6367c192a",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-005.html": [
- "d13b42cbf2b7304bd293e8b941631885e1ed3893",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-006.html": [
- "2a7b4170095a4f598854d72271b11bad397dc6ee",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-007.html": [
- "c80957f6ed914e637b16ded3c74dcd9e0c058432",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-008.html": [
- "9aad4956d40dbe381776f35bdeb26a86e0128122",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-009.html": [
- "e709d2e7e9e6c2d7ad2ef860e8586cb57e022c80",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-010.html": [
- "2e3bc624f9da7f2e215bf13df76cdb4c01f7cb39",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-011.html": [
- "087287eddd6ae588c40e14ace3036efc853d1f1d",
- "reftest"
- ],
- "css/css-regions/contentEditable/contentEditable-012.html": [
- "496b849167df133a421bdcbc3cc967a4888249a3",
- "manual"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-001-ref.html": [
- "15f20c178b31f3f3e6a33f5304cb380d7a5f080d",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-002-ref.html": [
- "0b9853a7c9f5d99aa7c79bff39928ed8356f28c7",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-003-ref.html": [
- "e4e6a0fd7a23b1183a51b487e69adb00e64ddafc",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-004-ref.html": [
- "393f0ed6e001d667dfae4d8f9142a3660745c02e",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-005-ref.html": [
- "73c3e13e6cc7a0feac03468820bc9a0e0ad464f0",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-006-ref.html": [
- "74bcd605de69fd612c32d4712590e8ea37f79fc0",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-007-ref.html": [
- "cdbef3af385362c786a7cc0b9d917bad951b4790",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-008-ref.html": [
- "e2da2a0f2632ee1d32745c7514be6ea8beec631a",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-010-ref.html": [
- "4e9cbc633f28c4ed6b48ff1b79f6f52b5345781c",
- "support"
- ],
- "css/css-regions/contentEditable/reference/contentEditable-011-ref.html": [
- "248323cd5db251d6e5cacaa4f3f1a328ac482a45",
- "support"
- ],
- "css/css-regions/contentEditable/support/common.css": [
- "30c65805873317b5bf559abf345d33e89dc68c50",
- "support"
- ],
- "css/css-regions/contentEditable/support/helpers.js": [
- "cd3b2e7065e8deb2274b093020dfe705465502a8",
- "support"
- ],
- "css/css-regions/counters/extract-list-items-001.html": [
- "c790a4e0167b877457ad61e7791956092e2c7177",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-002.html": [
- "eea50b64101ebf3e5c4dac4b64d01217be431242",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-003.html": [
- "aa6a68009fe1e5347d9ce045af1959d7dc220941",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-004.html": [
- "b019900d33307483c276a6c78fcd0d177c808d31",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-005.html": [
- "bc30be0fb9981cd36a49a37ee6b09b8bc3c98094",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-006.html": [
- "cb4c6780d7a31e6aad29d20d99e0bcce4f15a228",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-007.html": [
- "b852751f75c2b48716d15141b8043155699f4323",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-008.html": [
- "807b3d155d5afcf21968b15f08d349c31cca00ae",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-009.html": [
- "27d77d468fd34a2501e1a4c890c45ce0e72cfd9d",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-010.html": [
- "d5384442f72ef63b966a2152c0cb24e804eed78e",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-011.html": [
- "bd09072e2d803588f47f3fe0c7eb6f84491797d6",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-012.html": [
- "fb6fbe81820d11f0fdf52b6ae9614fedefedbf53",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-013.html": [
- "c74f987339b52d762cda1b95302f2a32392902d9",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-014.html": [
- "89d0503095d514540c3d16fd24810ab9b7a49f6b",
- "reftest"
- ],
- "css/css-regions/counters/extract-list-items-015.html": [
- "95e6ba09e85a4fcf8adcb640aded3f3fea8d116c",
- "reftest"
- ],
- "css/css-regions/counters/extract-numbered-paragraphs-divs-001.html": [
- "b56046041390a34731b297324c6eb963d6a223a2",
- "reftest"
- ],
- "css/css-regions/counters/extract-numbered-paragraphs-divs-002.html": [
- "a9b6f290abb2ee58b1a3e1f82a525de21475e007",
- "reftest"
- ],
- "css/css-regions/counters/extract-numbered-paragraphs.html": [
- "af4648afccec1b8143f57a3499cdcb5cef883749",
- "reftest"
- ],
- "css/css-regions/counters/extract-numbered-spans-display-only-some.html": [
- "2630311b5661b8539734b53626015ebbaafbfdc8",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-001.html": [
- "e426ba76652fc613515bb70d6dede4345fb4e659",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-002.html": [
- "799867d6d81475c9b194dc2540ccfa2f2c5df468",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-003.html": [
- "3d499ad1972cfe384aa4c5b23ca30249b39ae361",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html": [
- "56f8a2f1d08213706ca37e7aad43a9df7db431a8",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html": [
- "86a69047587c396bd6e2b54bcb991a083ca53722",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html": [
- "11d2dc000f468be6b636b61bc08f3ca65f779d44",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html": [
- "fc975df57a891953b892b3d7f8ad3c475450dbdd",
- "reftest"
- ],
- "css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html": [
- "c7044a7082c2f0cb6d6aedc59ab4c523709e577f",
- "reftest"
- ],
- "css/css-regions/counters/extract-unordered-lists-in-regions.html": [
- "3079af2d7afdd420f55a17d70f030c404d28f9a3",
- "reftest"
- ],
- "css/css-regions/counters/reference/extract-list-items-001-ref.html": [
- "8534f5f3af24f7855d8b9458983e435343be2a48",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-002-ref.html": [
- "4cbe060c462f2a9ea98d2ce7aa5ea755ffe88dca",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-003-ref.html": [
- "8c9e3ab84a7f3976d8728c343b2d864324f7bfc2",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-004-ref.html": [
- "f466c094cd085dcd59e050dd13d50183e0f46c59",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-005-ref.html": [
- "f77e52c611c032ef6586cae69b7d76682909a8a5",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-006-ref.html": [
- "a5fbc7bb0b0ef23d434a8a0dfdb3a7e54a80ed5c",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-007-ref.html": [
- "f7021b54dfa632cb4b6963429468612195561aa7",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-008-ref.html": [
- "1fe6736777ecc5c12d8ba445173589fc8c8a8874",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-009-ref.html": [
- "03553ac89e7f56af74fd1f32977e7a4b04d28164",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-012-ref.html": [
- "d8185a1a81a2244b2af48ba965eafbe626332d3f",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-013-ref.html": [
- "e370e38ffcdf004f709ed85f3742fbce12c8fb97",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-014-ref.html": [
- "2d232a9fd32cf3f661ab458e17b221edb0d39bd5",
- "support"
- ],
- "css/css-regions/counters/reference/extract-list-items-015-ref.html": [
- "cc0a5ed66f2b5bc38294960f61b8e963d13167a3",
- "support"
- ],
- "css/css-regions/counters/reference/extract-numbered-paragraphs-divs-001-ref.html": [
- "95080570eb605a13b0768d176b22be73158540b2",
- "support"
- ],
- "css/css-regions/counters/reference/extract-numbered-paragraphs-divs-002-ref.html": [
- "0900b28ab06bb721f754ec970c009520acf2426b",
- "support"
- ],
- "css/css-regions/counters/reference/extract-numbered-paragraphs-ref.html": [
- "0e43bc4d835315da9f3660437e69d43758832d14",
- "support"
- ],
- "css/css-regions/counters/reference/extract-numbered-spans-display-only-some-ref.html": [
- "cfbc9e0bb38d7853b535172f402d6ecbcbeb4924",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-001-ref.html": [
- "9a9268bede7a8e0af6ebc3c0f850669b983da248",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html": [
- "f72e368aec8533ce3fd61ebe5ced0916d75c1885",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-003-ref.html": [
- "29396b40160a42f58f787802f471d94c78a0bd0a",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html": [
- "6fceac57c8cd9e3399b633ef4abbf2c3f2b74161",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html": [
- "59ffd424fc7874c592d836b47edfc2942f5bc428",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html": [
- "4ebc8d2a4c5657afd1032091dee3f6842bc9882c",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html": [
- "db766225565a5db2a5f2b5136f08072f4050678c",
- "support"
- ],
- "css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html": [
- "fdca5850e77dfd1d5d288d9c88c87c18291fae74",
- "support"
- ],
- "css/css-regions/counters/reference/extract-unordered-lists-in-regions-ref.html": [
- "b1b1fb534b68a6fd7a50ca8a0ecd8134850b4a64",
- "support"
- ],
- "css/css-regions/cssomview-apis-no-region-chain-001.html": [
- "841862899fbaff1c65ff7e61fb86dc971b3d5c35",
- "testharness"
- ],
- "css/css-regions/elements/canvas3d-001.html": [
- "eff860c84414dd74c8df3cb6034c4686a9885208",
- "reftest"
- ],
- "css/css-regions/elements/canvas3d-002.html": [
- "04c01be65dda612e48ac7da0b73cb26506ea635f",
- "reftest"
- ],
- "css/css-regions/elements/iframe-001.html": [
- "66c50f57bf369a15a1298db51c6803984f820906",
- "reftest"
- ],
- "css/css-regions/elements/reference/canvas3d-001-ref.html": [
- "d17694470f2fc8202116394cbba6afd186d3dc61",
- "support"
- ],
- "css/css-regions/elements/reference/canvas3d-002-ref.html": [
- "3c743a3b2c01f7f3d696c135d5668e40106d663c",
- "support"
- ],
- "css/css-regions/elements/reference/iframe-001-ref.html": [
- "17d5b5a1f32e61652ea248cc1fc2e36feb5dafcf",
- "support"
- ],
- "css/css-regions/elements/support/3d-filler.html": [
- "1ff6323f7eba6916a8bde25a8ef835e3461d3299",
- "support"
- ],
- "css/css-regions/elements/support/Three.js": [
- "6074714847437e237bb76639b5f8da874b10c3ee",
- "support"
- ],
- "css/css-regions/elements/support/green-at-15.mp4": [
- "a9d2b979d412dbd223df0768fac8d751a2c51808",
- "support"
- ],
- "css/css-regions/elements/support/green-at-15.ogv": [
- "50d59dfb38b065d9250b7c0e43e0cba7eac82904",
- "support"
- ],
- "css/css-regions/elements/support/static-cube.js": [
- "10b045301c457c198f12f28082cb3b75ba021af3",
- "support"
- ],
- "css/css-regions/elements/video-001.html": [
- "4f092bc63d70c08d1d8fcb3e9a62ea7a26d1c605",
- "visual"
- ],
- "css/css-regions/flexbox/autoheight-flexbox-001.html": [
- "6bf9668fd2c015af927ccb4a6ba663bc7ea34f2d",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-flexbox-002.html": [
- "5c430d5b26c6274b241c4ed3fe21fff3c6f228d6",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-flexbox-003.html": [
- "291d92dfba96b550c0f62cc479c9eacbc0a626e8",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-flexbox-004.html": [
- "11549d176f5499c552f2d728a9703e4c80b2bd90",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html": [
- "9431fa52cebcf45111ba051c7f4e4fb64e778f1f",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html": [
- "768567dfb3b0d418d325937b368c43b271aca122",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html": [
- "8a4a4a9966ad1f42ce590aa728b82015f4f9873e",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html": [
- "c636bd9e9eb43ca227554a5c1b9ae201f21bb87d",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html": [
- "6a5287d9296e5869e31ef4a4daa17119ca5abb62",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html": [
- "3cfd9bb5dd1c9f72f0cb01c76f8f962fb5780607",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html": [
- "d6062aa21e6cd8b34ee6ae94e3fac86c330edbd5",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html": [
- "2317391169fe777482434261e0ddfea348875805",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html": [
- "9c54fbed41f9956ea0146d0d200d59a3091b0814",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html": [
- "cc863d657e308ab0a30ce504dcbc4905dec5cdbd",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html": [
- "185ab3ddb03186bcb55cced56d0f1454fc32381b",
- "reftest"
- ],
- "css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html": [
- "d8f59720c9e36b1ef9257b9d4e60948bfed0f728",
- "reftest"
- ],
- "css/css-regions/flexbox/column-flexbox-break.html": [
- "c1ae090169390fc78f1acb330419bdf5cfd3d856",
- "reftest"
- ],
- "css/css-regions/flexbox/reference/autoheight-flexbox-001-ref.html": [
- "eec91745a23f73d40ce96f8d1f248b9ff9fff6b4",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-flexbox-002-ref.html": [
- "67eaeb881a4c801913ac291ab15b1034ba804685",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html": [
- "5b1455c3f806ec72e1c51c62261f83f6fec3dc73",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-001-ref.html": [
- "6fca3fe2008d58079c8593273a5c528f7a568c3f",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-002-ref.html": [
- "399b70455c472cc4c8f0c958920ced50ac666748",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-003-ref.html": [
- "d0df028dc61f29410b11c8653d38e048226532b0",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-004-ref.html": [
- "97feebd2060ba49922af17277f31269570f38699",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html": [
- "7f270fbf7bce90d598d45e1c727cfbd8ea111485",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html": [
- "d623729da7369062da56eb6830bd4696c2d4011e",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html": [
- "6d64025eb82dd033d492c0840c34a53eeee1cd24",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html": [
- "0687bd345658f4b243bba027038d00519c3ff3d1",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html": [
- "318f7ad70bd1305921e035fe9ebb0578ce269b76",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html": [
- "2966e51de9eae83b3a9c1dcc70dbc7656843606d",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html": [
- "2e8c850db372f29291b847ded605173a90c2aa83",
- "support"
- ],
- "css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html": [
- "6b83e0fb3f84123a5ad6188cc02cf0ff5a2454f2",
- "support"
- ],
- "css/css-regions/flexbox/reference/column-flexbox-break-ref.html": [
- "563217f2a76871eda73b64023704171d5294009c",
- "support"
- ],
- "css/css-regions/flexbox/reference/regions-flexbox-001-ref.html": [
- "a0337adbe55d2aecff5f2cf3f6c518dfdb2a06e4",
- "support"
- ],
- "css/css-regions/flexbox/reference/regions-flexbox-002-ref.html": [
- "5dd4b7513bc28a76412fc3187818d396d2e98230",
- "support"
- ],
- "css/css-regions/flexbox/reference/row-flexbox-break-ref.html": [
- "ad6650d30634da01da98e5903d922e06faabe39d",
- "support"
- ],
- "css/css-regions/flexbox/reference/visibility-regions-in-flexbox-ref.html": [
- "1e46f07680f306b122bf0d0ea96bb4065079cae2",
- "support"
- ],
- "css/css-regions/flexbox/regions-flexbox-001.html": [
- "0f56db981c0a44e04cd7fa4a6c16c1aba2f35bda",
- "reftest"
- ],
- "css/css-regions/flexbox/regions-flexbox-002.html": [
- "7e0635d766796b41a0cc68e50056d11e577ad459",
- "reftest"
- ],
- "css/css-regions/flexbox/regions-flexbox-003.html": [
- "314ea5943469fc8b8304f400bfbdad5bf3cd81b6",
- "reftest"
- ],
- "css/css-regions/flexbox/regions-flexbox-004.html": [
- "ae80bbc8accad233d4efcd5baee81ca9bfe02f14",
- "reftest"
- ],
- "css/css-regions/flexbox/row-flexbox-break.html": [
- "402242284c328d0ec349824bdbe635b3af47d2a5",
- "reftest"
- ],
- "css/css-regions/flexbox/visibility-regions-in-flexbox.html": [
- "230af22d1c3956993023c8ae3aff50c9f2d4a53a",
- "reftest"
- ],
- "css/css-regions/floats/floated-regions-001.html": [
- "f0cc63139cc033da233f5aeec7a5e9c916ad7655",
- "reftest"
- ],
- "css/css-regions/floats/floated-regions-002.html": [
- "b7a2f796dc0a94b5e5bae160c15f789993576a72",
- "reftest"
- ],
- "css/css-regions/floats/floated-regions-003.html": [
- "5e7f16ff469b9e278f0349e0ccafa7545752054e",
- "reftest"
- ],
- "css/css-regions/floats/floated-regions-004.html": [
- "c62000f014b13010cdebf1a9000862a5a06b2d74",
- "reftest"
- ],
- "css/css-regions/floats/floated-regions-005.html": [
- "7257ffbbc9786895f8833bcee2d86eeb3135b847",
- "reftest"
- ],
- "css/css-regions/floats/floats-clear-breaks-001.html": [
- "4e03aa46a3851e1bdd0a11b804706f4c065214f0",
- "reftest"
- ],
- "css/css-regions/floats/floats-clear-breaks-002.html": [
- "1a8a97334d4776ef237e369f80849dad5b855499",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-001.html": [
- "0e59a21fc72936ea80e7b24ba8462ff0b5943da4",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-002.html": [
- "03081e52bde0ea36fbb79a1b245b81d0c317a3d6",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-003.html": [
- "6f95a8c402bf9fec23afba5129d64878f941a87e",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-004.html": [
- "afa1b769537a915e12c5ffc9e1cff1711a853103",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-005.html": [
- "bdb6266cacc3384475a3c5d2fb913aee2f8de385",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-006.html": [
- "6f0cf067bc0edc57eac1b90e5bb40bf3867cbc3b",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-007.html": [
- "4fb9bcb713bda31cc68719964625c189721a4c51",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-008.html": [
- "8de84c11c01af548dd31aa30eee569ff8377bbf8",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-009.html": [
- "8ae60c334b756a05f989e4264a4cd2b07d9ea320",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-010.html": [
- "068e7b85d1826ae89cae2c93a949c79d82e453dd",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-011.html": [
- "5a70d452a09ddd496377dbf613bb66045ae2512c",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-012.html": [
- "1a7e610bc7d455d2dda969c68fb1a0babb5cf2a8",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-013.html": [
- "0ed9d360455d3117f63e549087304e4aa8c02242",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-014.html": [
- "56387e6db8e263daa5266695bfeee851cc1dc51d",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-015.html": [
- "d94dc521cf8d5f68df76e7392517fe0393ab1a98",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-016.html": [
- "511836617ab98e72f1695a4368f57bd74e8f0af6",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-017.html": [
- "62ec78d496e7fba48f26dcc50cabc7f738376b22",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-018.html": [
- "f9990d3303ffab02a229c5b98f73c88241a0682f",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-019.html": [
- "f5bcdbab2f16c148a8839c3eb9774b3f68ead525",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-020.html": [
- "f83b9bb96ffeb8429b17ec4c6ddd22ed298f6311",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-021.html": [
- "e7a19b40de6e2e8c597c8e3cbbbdeee4295c0346",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-022.html": [
- "4a3566668705c42907551d9a5778ace6f6eb246e",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-023.html": [
- "19386d87444b538bbd9f43397837c2858a836878",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-024.html": [
- "fd472b55d9acb4a48d66256696bdeb3cf1633f86",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-025.html": [
- "c5ed63f52481a1a1fd71cfb589a2b764fecff3cf",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-026.html": [
- "f0daf87d445693976fa51073f1bc45bb8ca5a799",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-027.html": [
- "e87cdafb021a45b47010060cdabc47152993477c",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-028.html": [
- "1d2bbb10388cb7dccf8e73e5795d9d6a14e95d2d",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-029.html": [
- "5ed45e5d2e6e08561f0f61a837aa18452cb59524",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-030.html": [
- "3527149b668762c852f08c1bfa4f953095c47f40",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-031.html": [
- "819185d311b385289facdae2dd0861904b47fab8",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-032.html": [
- "d2263281ba5dff45bb74bcecb803bda294754be9",
- "reftest"
- ],
- "css/css-regions/floats/floats-in-named-flow-033.html": [
- "4374e7145cd957a96f5db545f54fd6286cebff6e",
- "reftest"
- ],
- "css/css-regions/floats/reference/floated-regions-001-ref.html": [
- "31cd9ad49d719f1830d7cefc1edcf55a9f142b6f",
- "support"
- ],
- "css/css-regions/floats/reference/floated-regions-002-ref.html": [
- "25a261179d9ef6129c88f929ab88e5a778711153",
- "support"
- ],
- "css/css-regions/floats/reference/floated-regions-003-ref.html": [
- "45dfa2c7fd8b37e59cc37edf088de4c642a0797e",
- "support"
- ],
- "css/css-regions/floats/reference/floated-regions-004-ref.html": [
- "3dbe4d5654f446b826d8986304ea30a7d7bb5429",
- "support"
- ],
- "css/css-regions/floats/reference/floated-regions-005-ref.html": [
- "84e636ba12fdd8dba0048f350bb6a232323f3232",
- "support"
- ],
- "css/css-regions/floats/reference/floats-clear-breaks-001-ref.html": [
- "8c9cf1982cf180b16e08540f1ce3c8a256629201",
- "support"
- ],
- "css/css-regions/floats/reference/floats-clear-breaks-002-ref.html": [
- "eb4dd9442f1c5b745ad71232a04d3ecbcdab6eb3",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-001-ref.html": [
- "454de85b43d4a2f10c125783fce30e38a66c35de",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-002-ref.html": [
- "3b668e88e0903a0ac341807894a76688a96d1ffd",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-003-ref.html": [
- "0a517ab65bb024637dbb8d0e617bce027d108438",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-004-ref.html": [
- "da9c45425e1c0a830c19168d3183151776ee658c",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-005-ref.html": [
- "16e97261c86adc2cfbacc496c056572ca789da54",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-006-ref.html": [
- "aeba68a527c27aca9f8a13846337ccd1bb02f4c4",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-009-ref.html": [
- "b1d011b364a05987aa4b96ea5451996b16869a4e",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-011-ref.html": [
- "5044c77fa23db9e4769500eeff5e2774d88caf0c",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-012-ref.html": [
- "ec4eeff7d91ec91191e0276ded913e250dbcd430",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-013-ref.html": [
- "e974e3feaf2a0864ad793536532befe470ebc1ff",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-016-ref.html": [
- "c91451cc7bc619e48d384d8969ad5a83bf517fe0",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-017-ref.html": [
- "2998a3af57c8096ca288b98fc4deabebed37ae2a",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-018-ref.html": [
- "2961fdd0e2817b351c81277bc3077ca7e2eff0be",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-020-ref.html": [
- "a85e0e00ec130dc6b7f7047bedd7051f32e32dca",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-021-ref.html": [
- "37e5b42c94e23ae1c3ac4b87613a4474f1ef1f6f",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-023-ref.html": [
- "14699180ef0dbb540164243f22c07449d32e40ae",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-024-ref.html": [
- "865fdbef7609ce7b291937660b239caf5895c971",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-025-ref.html": [
- "285a96836f05c5171dc26fc45a992623b21fb7de",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-026-ref.html": [
- "efc23cc638197caaf91ce03321660ff9c7b43d65",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-027-ref.html": [
- "ff55dc55ea126aa1b990b95b5ae10205440cdb3a",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-029-ref.html": [
- "adffd0f2d4a51f9c3fd393930885eb2b92b5fcd1",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-030-ref.html": [
- "424d73aee03c2dd165a355ec272816ebeb730669",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-031-ref.html": [
- "f5135cf6f796feda759109e44d8a93f0c017b843",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-032-ref.html": [
- "cd997eeaa1630affc489faa3303f71d667bbed38",
- "support"
- ],
- "css/css-regions/floats/reference/floats-in-named-flow-033-ref.html": [
- "892fc993b58d2b718f120f0647e5fb22f20e7733",
- "support"
- ],
- "css/css-regions/flow-content-001-ref.xht": [
- "2a6f3282d93d0a9084a0627009207bdd4a24fc6c",
- "support"
- ],
- "css/css-regions/flow-content-001.xht": [
- "83b8785a79dbb70e76cbaf4396e505049f85008b",
- "reftest"
- ],
- "css/css-regions/flow-content-002-ref.xht": [
- "262d8ed66ea8e78c6b77eb0f9b39c4b7c7ee173f",
- "support"
- ],
- "css/css-regions/flow-content-002.xht": [
- "efa39f5500561e6255c84dfaf2e49d73b081e1c6",
- "reftest"
- ],
- "css/css-regions/flow-from-001-ref.xht": [
- "bf4eb591dcc9ae8cece92a18cc0f1878c546a359",
- "support"
- ],
- "css/css-regions/flow-from-001.xht": [
- "65a38c9d71c89030c189db6df99e4268e45a25d1",
- "reftest"
- ],
- "css/css-regions/flow-from-block-container-001-ref.xht": [
- "cfccb15c7862c7ff691b6e9570f1f2f06da14caa",
- "support"
- ],
- "css/css-regions/flow-from-block-container-001.xht": [
- "491a977c500fe32435239764693e01429280cbf1",
- "reftest"
- ],
- "css/css-regions/flow-into-001-ref.xht": [
- "8b1078464cf32b2e2b40806dbe66de582a3a3772",
- "support"
- ],
- "css/css-regions/flow-into-001.xht": [
- "858928e9dd99b8f1553ca6b6d16d85fbabf9b812",
- "reftest"
- ],
- "css/css-regions/flow-into-BFC-001-ref.xht": [
- "66773da47cb4f2b45263ca21c96abb87fb7b62bf",
- "support"
- ],
- "css/css-regions/flow-into-BFC-001.xht": [
- "b8fc34b7d382612fb3880716d2d5b1bf9153785f",
- "reftest"
- ],
- "css/css-regions/flow-into-invalid-names-001-ref.xht": [
- "faddfcdf5e2fb0a57051edf0698e6ca358834ce7",
- "support"
- ],
- "css/css-regions/flow-into-invalid-names-001.xht": [
- "21241516bd35c882364f4fe5ff6bc3e30df522d4",
- "reftest"
- ],
- "css/css-regions/flow-into-parsing-001.html": [
- "1827dc52cb93b4d2de1228f055c95ed14bc7259f",
- "testharness"
- ],
- "css/css-regions/flow-into-region-children-001-ref.xht": [
- "468b5a88c02f450c484d609176731411d49e0a32",
- "support"
- ],
- "css/css-regions/flow-into-region-children-001.xht": [
- "1d5966cc4474b2a64dbebca50ee04165acac0ee6",
- "reftest"
- ],
- "css/css-regions/idlharness.html": [
- "3d6f55c8073a2387745b9093eb0d5b9f3f96dc22",
- "testharness"
- ],
- "css/css-regions/inheritance.html": [
- "865a1b6b1c13e15ad12fd4cd378b0f32b486354b",
- "testharness"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html": [
- "ecd99200f43e05b126192a711939e69fe78fbec5",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-002.html": [
- "865792d176b1c5adc12a10ac6db3aba7db62c949",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-003.html": [
- "2430052bd19b0ecd8eaf6575e5d3255bc117b4c1",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-004.html": [
- "7e18319a1b417854608f255db1d9e4f8bd48852b",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-005.html": [
- "ccaefdfa8ad324bb75f29d2b7008d7dcc9da5d6c",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-006.html": [
- "eb824172f74aa56bec2e5b7a235da200fae559e3",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-007.html": [
- "4b6f3310565f5c9ca2d75a32c075616d2a76e9af",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-008.html": [
- "ef97e32bf9d67a48cff9a0ae8bd714afb46c12c2",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-009.html": [
- "08c586c6d5247ac881f3fdf84c22ff41feb0c6d1",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/fullscreen-region-content-010.html": [
- "d2f4b13b058e7a7f69aab7596e28c124019e47e8",
- "manual"
- ],
- "css/css-regions/interactivity/full-screen/support/cat.jpg": [
- "a4f14f54d60e592f3ca8b44360931898602ba6fe",
- "support"
- ],
- "css/css-regions/interactivity/full-screen/support/common.css": [
- "f15133dcbc6fe517d78744c23172ab1635ad3ae1",
- "support"
- ],
- "css/css-regions/interactivity/full-screen/support/green-at-15.mp4": [
- "a9d2b979d412dbd223df0768fac8d751a2c51808",
- "support"
- ],
- "css/css-regions/interactivity/full-screen/support/green-at-15.ogv": [
- "50d59dfb38b065d9250b7c0e43e0cba7eac82904",
- "support"
- ],
- "css/css-regions/interactivity/full-screen/support/util.js": [
- "9d62d223d15fe933c6acf9060037d78687e030c1",
- "support"
- ],
- "css/css-regions/interactivity/hit-testing/css-cursor-001.html": [
- "9ef2efb9e47e8031b79e09484aee866b0b9dfab6",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-cursor-002.html": [
- "29248365a54972f26409bfc769c887a420af7285",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-001.html": [
- "0774957c4c8c0c98e7fe5fe475015b76a82c19ae",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-002.html": [
- "0d0c849bf177f74fa983d18cbcaae1da324eb067",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-003.html": [
- "dc85598769975393a0e5dd11c3c50a074b5f0aaa",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-004.html": [
- "76d73eb40ab853b4aaada9c51a2183f11c5cc891",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-content-005.html": [
- "f13cd0fbaed730192141d6434ef4fb575c4c2fa4",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-001.html": [
- "d28c79b052638de11905a948955e7b7383df4cd0",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-002.html": [
- "347319195e0b6aa47110f5161f53063aa6d579c0",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-003.html": [
- "103800a73dd958b342b2357bf6f6db4f99f24320",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/css-hover-on-region-004.html": [
- "4dc41bf7c5f492d2ed1f3672331fc88215d0ad01",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/elementFromPoint-001.html": [
- "a59fc54aa30f50409688167b767d5fd38eab824f",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/elementFromPoint-002.html": [
- "e36d0ac275b1a1928c21917fd3b48cc9b57bb727",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-001.html": [
- "b23cb0e78c34b51c370495eb0f5fceaceb0e5a1e",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-002.html": [
- "852af75109ef1a610fe5e5f9f20195c74e706a89",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-003.html": [
- "d43b4e257cd72217b0f0d040b5d0d5ef15482ca9",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-004.html": [
- "dc1d8ee008a0851bac9b8c60240a2d57d5862cab",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-005.html": [
- "b421fa91a742dd50d1a9c9497a243ec1011a3ff7",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/flow-change-on-hover-006.html": [
- "26e82a33edc9f5f33177d497eeeb506acf0c751a",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-001.html": [
- "b461082768c03632e2d7b16af89919c5b3b023a9",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-002.html": [
- "4f6fd4d8e77b2937d2308aca1b405faa8efcfba7",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-003.html": [
- "ea0d5433a33bb8d60f316a149b7e77f5aefa5212",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-004.html": [
- "790c1432560c2afb57a34a98a143f93537083ffc",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/mouse-events-005.html": [
- "09557a08eccdd96c89a07b6d134d9924fab95bc0",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-001.html": [
- "af039fefd0560a5fbeeee0808e99ed3ec6cc47f3",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-002.html": [
- "9f7b88f6dcf43690a27679d7eab01708ae1cb8cd",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-003.html": [
- "3562c8443e602d855c3d19ebf4a655e1a49e1136",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-events-001.html": [
- "513dc5d05a1af3c60bd0bc298b002c13209badbe",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-events-002.html": [
- "f769d3c5c1a406151590fa2459690e2603925afd",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-events-003.html": [
- "16425ef49bcadde4b9db3a1c715c24a94d063f9d",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-001.html": [
- "be6d3ce960f91826121da4964375d31f112db0f0",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-002.html": [
- "6a11f8b0ca6a68688689637d4b90762fe4fb6e23",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/overflow-and-selection-003.html": [
- "b512b311af1cfcf7b51d45345a28eb253ff8c92f",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-001.html": [
- "a5ddbb4cf80defe7481ba2c6df522b896202265d",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-002.html": [
- "da102188567f2c81bec9d80b2ed123ad756c7fa7",
- "manual"
- ],
- "css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-003.html": [
- "e3a980aa1a290cecc70dad1f10c327cbd3ff6a3e",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html": [
- "46199c4b2d6d39669dc388c7af9bb47715d823f7",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html": [
- "d5c804015ec274b5006c130d90813e1862152888",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html": [
- "f268cf114222ba2b760a4c8f2c29359565c6c610",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html": [
- "8a43f30e9b88214dab7a24b95aed4530ac165921",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html": [
- "645979cdec09e075473eb4972ae7ce31df7a62cd",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html": [
- "bf6dadd9a7ad89add33da278493548368cd18cbc",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html": [
- "dfeb2316129ab646b6d36d9452bdca9ac40a47bb",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html": [
- "ba4c800553f669071f2ee86f5e0dc1fb5b8aefe4",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html": [
- "4f1ac1cd37afe1fd335a9c9f41f9b16ae36a19e2",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html": [
- "d4a6a8a1221643721a301fc06bfecb83c7b9e273",
- "manual"
- ],
- "css/css-regions/interactivity/keyboard/support/css/regions-keyboard.css": [
- "bdcc5b92fcf7779994b5829610f3c4b4208bcdf6",
- "support"
- ],
- "css/css-regions/interactivity/keyboard/support/js/regions-keyboard-events-test-helper.js": [
- "0fc5d664cefebf3dad987741141faa566d246417",
- "support"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-001.html": [
- "30c2e35bd4e182564bab3351f3d521f229ebe922",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-002.html": [
- "81fee6722f163bc7977e13c443dda5d5fa2e267a",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-003.html": [
- "fc206aa0259a3b49165c63d638b8c680e2e9b2e4",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-004.html": [
- "cd57f96fc12b388141e462829005cb72688ca8f6",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-005.html": [
- "1e728935e593faf95ed6f0347f30d89d309825cb",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-006.html": [
- "de5751bdd4341a1dda2a6b2b2d235cbe34ca44ab",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-007.html": [
- "95547892b051eb0eebd2fedd8b4837fc83cc33d9",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-008.html": [
- "a374cae7293f2a33efd88d92e3c633edfa7e1c59",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/regions-mouse-events-009.html": [
- "5b224addddf4fe91090d1376ff75df31036d1fbd",
- "manual"
- ],
- "css/css-regions/interactivity/mouse/support/css/regions-mouse-events.css": [
- "8d5cbce46c2125e3ef035d132310100b7a77fefd",
- "support"
- ],
- "css/css-regions/interactivity/mouse/support/js/regions-mouse-events-test-helper.js": [
- "efbffb7f4ac63a7483bb56658f04c76c7b27d294",
- "support"
- ],
- "css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html": [
- "2ec81b0d81f04ed622185543988787aa6603ccb2",
- "support"
- ],
- "css/css-regions/interactivity/resizing/reference/regions-resizing-005-ref.html": [
- "afc4cd74ca649d746a6441065d3e30d39429ee54",
- "support"
- ],
- "css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html": [
- "5399cdc8bbde6c41576d7c2ce008e41f3d6ecc33",
- "support"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-001.html": [
- "04ef0e0a945846a2c2a069abbdcf478c592a2f7e",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-002.html": [
- "caec60defb3e8d3e72209100daaaac9886cac09a",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-003.html": [
- "d9e3225e51465735cffa55c6cd7513a64b7d0ab2",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-004.html": [
- "67437c64d7592f178fd230f55821895b75619348",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-005.html": [
- "e2653ecf56b959521bdfd2ce6967047f5e4e5ac7",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-006.html": [
- "00ae9855047f2a89e778ba2539432e63ebd154e0",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-007.html": [
- "ff716cf008b3391d4be980e472b266da23339400",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-008.html": [
- "6b79ddaef29bccd37b80f5a0864b3ae59b32f96a",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-009.html": [
- "45dc975b5d323206135d4f9e60eeba1449748e5e",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-010.html": [
- "95630558aa45cfa61426972fde88d0b42c77be03",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-011.html": [
- "e1c146f12480bc27170ec850df91aaeb0461f524",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-012.html": [
- "d587cf14d082d28bdc01338c758aa1ba95740bd1",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/regions-resizing-013.html": [
- "bec40648295a4a02619813ff51cf2de6e835a902",
- "reftest"
- ],
- "css/css-regions/interactivity/resizing/support/2-80px-block-ref.html": [
- "7bbc641de955a45ac66065212f97f95ca71320ef",
- "support"
- ],
- "css/css-regions/interactivity/resizing/support/80px-block-float-ref.html": [
- "2643db0627f2cbb21d2abb90b79d28c86b70bbd2",
- "support"
- ],
- "css/css-regions/interactivity/resizing/support/80px-block-ref.html": [
- "77d3795068f8595a8ac04e25160910f4b204d2b2",
- "support"
- ],
- "css/css-regions/interactivity/resizing/support/region-in-body.html": [
- "9b9c9c68b81a055ed4a6270ce0223e44568cb80b",
- "support"
- ],
- "css/css-regions/interactivity/resizing/support/region-in-container.html": [
- "5e1c1c6ef36a5fc12934a70a207e0ca7ce511c33",
- "support"
- ],
- "css/css-regions/interactivity/resizing/support/two-regions-in-container.html": [
- "2db4c048fc3852c090a47efa0d776e0d7d9b5331",
- "support"
- ],
- "css/css-regions/interactivity/resizing/support/util.js": [
- "b2fa69a97ecbd0a4a9018e3fad583a181081cdb9",
- "support"
- ],
- "css/css-regions/interactivity/selection/regions-selection-001.html": [
- "29bf67ef1b882c8e85bb3b8f8d563795ee562dc4",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-002.html": [
- "dd7d0304136480fceda465fa82b90672213d590b",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-003.html": [
- "b77f3543d36f27b1cc9764d6c8e9e12f9546944b",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-004.html": [
- "7d2cdd2b560b48deacd0d5c94e061c7cf0f70fbf",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-005.html": [
- "8b7091fbf0b8bc9864dd0b2172dfcc1b41ebc4b7",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-006.html": [
- "6eb176bb11d81a93700cc3f3b9b7a3d9b3e2b533",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-007.html": [
- "8173226ba75e7b24a7532ca874b404277ad75bd2",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-008.html": [
- "d5e8b7e80db12d266480fb544763cb9412f8dba0",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-009.html": [
- "9712f6dbf8d3b5370962cfc6a88bba055d60999f",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-010.html": [
- "0b53764b6888cd9c36816033e459ff5acb0e79cb",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-011.html": [
- "7ecdb5480efaac7c84cc87967234157b6b0f957d",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-012.html": [
- "9770a4b8d1b5b1ccd694f343bba3dcb7a673db00",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-013.html": [
- "5594a516451f9644a331107a389f20cb946a9f14",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-014.html": [
- "822b364e8f25692b5fd978ca236d4d48cfdecc4f",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-015.html": [
- "4db2a873c98331c716940c5a55c53783c6073c3a",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-016.html": [
- "967308e633dab2ceb0841748f521830cb01533f4",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-017.html": [
- "9497ce245ddfb473d0abda561215df569eb1f9db",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-018.html": [
- "6cb10b50a3332b9ee4979bcb92b9a1770376cb41",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-019.html": [
- "0c4d7fb982933ec2a428ca830f221f28a6abb4a6",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-020.html": [
- "e74895065769c6deeef9b2d4dd6e8ff6e1daf538",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-021.html": [
- "fd7d4c068a8eda648dc820225c0f956d2a5c00ae",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-022.html": [
- "6053a40d17302c0136642b5ff4790cb63e197e6a",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-023.html": [
- "0afcc1e687ae9742dce3b2d065498b35d5626773",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-024.html": [
- "03b40048fe02a75dcc2637e465d11d1ad226c646",
- "manual"
- ],
- "css/css-regions/interactivity/selection/regions-selection-025.html": [
- "9ed1dd8b312ed0c7d2da84761c562a5d5adb8c12",
- "manual"
- ],
- "css/css-regions/interactivity/selection/support/css/regions-selection.css": [
- "081d200386e72916d25731f8ff25c38e81963c35",
- "support"
- ],
- "css/css-regions/interactivity/selection/support/img/cat.png": [
- "85dd7324815b8f8ef1a1d0496224c1a0661db9d8",
- "support"
- ],
- "css/css-regions/interactivity/selection/support/js/selection-test-helper.js": [
- "0dba0ef5fb3aaa4c6390023c16d1387937e1476a",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-003-ref.html": [
- "f99644ae3025dab03b5f7e33c35269450e14a3fc",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-006-ref.html": [
- "c76c3bbe467d904fb5f71ae75b92646522e046f5",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-008-ref.html": [
- "c7e2d981b31736a86d8eb58c2f5be6e5cf714012",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-009-ref.html": [
- "d157f2848280ef702206457e50fe0d880d109174",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-012-ref.html": [
- "7e17aeb8d4d9b56abc531a4498c22f92d401d926",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-013-ref.html": [
- "54e40694df46fbf01e33cf7251348dbda87237b5",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-016-ref.html": [
- "35b46b530540b855bbe899d2600cfcb3ee681b77",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-017-ref.html": [
- "64ae5b5a307702db16ab681fe470535c6ebd8a02",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-019-ref.html": [
- "bbad3a6ac44bcdc0fdb6ab25f19de03c68690e3d",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-024-ref.html": [
- "584b410311d536621340298d7c3f6db7c0ce100c",
- "support"
- ],
- "css/css-regions/multicolumn/reference/regions-multicol-028-ref.html": [
- "36f296f06e472ec40da31f6a21c379952852eae3",
- "support"
- ],
- "css/css-regions/multicolumn/regions-multicol-003.html": [
- "5952996076c3b406e3cc2018011fc741ead7f30d",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-004.html": [
- "4e00e0ffdeab8608573d5a1f147e18b162a42de6",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-006.html": [
- "94f9e2d58d44ea5d4debc5cf51a4f8b7be7b29b3",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-008.html": [
- "46a341280ddb27ad01a17e64bbc80892725c53bc",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-009.html": [
- "f4c59682874776fb579ee6f6edacbf4696ea5cc5",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-011.html": [
- "222ef24c69f167dc2a6eaa0ff3aa1ad441774180",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-012.html": [
- "1dab35e1a7496cf3e7f7ce37aa4e605e0564b5c8",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-013.html": [
- "2020ec50ef328a8e118456a8688145bfb3b9d575",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-015.html": [
- "41fe6cfa940aca06d3a6e4fe2424d2c728520cfd",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-016.html": [
- "4d2e7814a70331a3165428e3d141ccb5e1cb99e5",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-017.html": [
- "6f7b89998cff7c1b948a6ddb3d52cc3d05b6f547",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-019.html": [
- "8b96fb73aa2e630659d2ec2c36c8135642e2b5df",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-021.html": [
- "486b39dbe9e91651de86f3ff924ff53f7e6ceae8",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-022.html": [
- "d48d3d700fe71e9512cb9a51f0186bd0f049367b",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-023.html": [
- "1f3a6c9d448c9813aa0bcd5274c931cd37fcc44f",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-024.html": [
- "d0c14307e01a1b01a6c55a3de59e5cbfdf6eac66",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-025.html": [
- "806791b31866ee5795fe5bd54bd84cf6625a1694",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-026.html": [
- "c08188f7c10c0ae75c2ee55c977afa7467fc8933",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-027.html": [
- "eea5189c9cf1e871a4b4c78934b9373df68db0d8",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-028.html": [
- "0e10c81c1c8d1cfb24a92536d8f685390c95f7d5",
- "reftest"
- ],
- "css/css-regions/multicolumn/regions-multicol-029.html": [
- "c26ddc200177c68fb8c6a3c042bfb548853985a2",
- "reftest"
- ],
- "css/css-regions/positioned-content/position-relative-001.html": [
- "3daff7885b956ec2976d533d9555d0d4495d2518",
- "reftest"
- ],
- "css/css-regions/positioned-content/reference/position-relative-001-ref.html": [
- "024160c237a849fbbf179c29107d2c2eb5a4797c",
- "support"
- ],
- "css/css-regions/reference/region-fragment-break-1-ref.html": [
- "089a6e1ec1dad069bda97b5f40d3c5cf1be75d46",
- "support"
- ],
- "css/css-regions/region-fragment-001-ref.xht": [
- "f628ebd7af70eee88a936ce2973a65c11b4c12de",
- "support"
- ],
- "css/css-regions/region-fragment-001.xht": [
- "f8f7d17c1f2c1e534c113fd997348ee0ef5add42",
- "reftest"
- ],
- "css/css-regions/region-fragment-002-ref.xht": [
- "a8113fae213a655b6d66601c2c084fe1666c32b1",
- "support"
- ],
- "css/css-regions/region-fragment-002.xht": [
- "b2b3d86d53430782c605bd2a5ed4d51d5bbcaab1",
- "reftest"
- ],
- "css/css-regions/region-fragment-break-1.html": [
- "919f60a5a3042e9e150b8ecb9f23c6fc4242761d",
- "reftest"
- ],
- "css/css-regions/region-stacking-context-001-ref.xht": [
- "718fef5f220c19a8e6d50525b962e1a543f6256b",
- "support"
- ],
- "css/css-regions/region-stacking-context-001.xht": [
- "5d9c1d0cb4367617c43c48303524845fbde06ad6",
- "reftest"
- ],
- "css/css-regions/region-styling-001-ref.xht": [
- "592f600d828d1ee1a6f9fb471a7e56526088bf8f",
- "support"
- ],
- "css/css-regions/region-styling-001.xht": [
- "7fa401a3303d2f52ba54806d00b5a4603da1fe4b",
- "reftest"
- ],
- "css/css-regions/stacking-context/content-node-layers-001.html": [
- "c1e5f19bc368aa55165e59950c23d648fa909df6",
- "reftest"
- ],
- "css/css-regions/stacking-context/content-node-layers-002.html": [
- "cabacb20ba43f162c5ea7a9958dec3f0240ec7ef",
- "reftest"
- ],
- "css/css-regions/stacking-context/content-node-layers-003.html": [
- "a6e3e6afb57945c307e79457231dfb5e3360ae22",
- "reftest"
- ],
- "css/css-regions/stacking-context/content-node-layers-004.html": [
- "26eb37b9596da2abbae7ec965f86ac7ff9deac00",
- "reftest"
- ],
- "css/css-regions/stacking-context/content-node-layers-005.html": [
- "a79197a4749133970ce40ac425cca3f026ebe757",
- "reftest"
- ],
- "css/css-regions/stacking-context/javascript-stacking-context-001.html": [
- "5caff8062a913e032fdcee941f5bb68b342cade5",
- "testharness"
- ],
- "css/css-regions/stacking-context/javascript-stacking-context-002.html": [
- "2b4a076f250fc04e95c462cb904915a88cfa0ce3",
- "visual"
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-001-ref.html": [
- "488665c8e717f5c3eeec876daefebcabb600940e",
- "support"
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-002-ref.html": [
- "934f8d2976ff169c1c17b32a41400b799f277786",
- "support"
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-003-ref.html": [
- "5b18aefe1e0c6c79d15b126fc2e517a079a54f7e",
- "support"
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-004-ref.html": [
- "7621b56607e469e640d6d0405b258d38e0f8e8b8",
- "support"
- ],
- "css/css-regions/stacking-context/reference/content-node-layers-005-ref.html": [
- "2b81b709fa0bf644c633fbb30f25909605601c9b",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-dialog-001-ref.html": [
- "0a1060bf9ceb1587e4652f492eb355d71fde5d45",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-dialog-002-ref.html": [
- "4ec63450d57aa8564520a60e9311b412dfebc3f2",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-layers-001-ref.html": [
- "2a31645a856fe2b5d2ce54f7ad550e4e2f17d49b",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-layers-002-ref.html": [
- "463e7abad568a8cad77c380c4903dce669238f23",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-layers-003-ref.html": [
- "1f08f67f0d83fa0d0f6a991f2837dc90fb2ae9f4",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-modal-dialog-001-ref.html": [
- "82e3ff55b85b0d9379eb0d0a4d2e0be5fdedcd59",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-modal-dialog-002-ref.html": [
- "daef4795223fcf919d3f821b209d000fa5a7dbaf",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-001-ref.html": [
- "2b94886c3871fcbbdb18cf3c0ad9a73a173b1b9b",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-002-ref.html": [
- "d1b08ddce66586c2b45340d502425e441bfe3af4",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-003-ref.html": [
- "f06d531eb8c457e49b839b46997edacf05a50d3d",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-004-ref.html": [
- "004b6a81b7274cd26ce695f724568c3aab0e0a3f",
- "support"
- ],
- "css/css-regions/stacking-context/reference/regions-stacking-context-005-ref.html": [
- "0ea90faca54b0bacd9c1ec40a175a6cb9bb9d901",
- "support"
- ],
- "css/css-regions/stacking-context/regions-dialog-001.html": [
- "3522593b069dbefb92ec1be96694c1a03a6fb0d9",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-dialog-002.html": [
- "b0744e270ca56c3a757d3dc92110e2913dc7dcdf",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-layers-001.html": [
- "ded5bfe0ca918c2ee2e977ecbdeda8a59e4761ec",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-layers-002.html": [
- "f494e8fda781206c50c3c3a6b0cbcd3372e1c763",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-layers-003.html": [
- "9908c40bdba1ce0b820c101f3d7d6a2a5e2d3d12",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-modal-dialog-001.html": [
- "f20c9b5e5cc382da2d5523c1571df3d64f686cfe",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-modal-dialog-002.html": [
- "3be9e4df6bac603cd816dd4c3e3d043e9c972c73",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-stacking-context-001.html": [
- "c1b2380fef6022b3e4d907cfae3c65ceb8f13efd",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-stacking-context-002.html": [
- "9d4f3a35b840d34776bf54d3a477b2f9f934b052",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-stacking-context-003.html": [
- "70885aaa2a5f75d7bac8d27364da7c2c51f42202",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-stacking-context-004.html": [
- "73756dab1a49a93770da4efb6cbd271720da7e85",
- "reftest"
- ],
- "css/css-regions/stacking-context/regions-stacking-context-005.html": [
- "9a34d3c6a1b4795e3ec3a7fba3cae839e0aaf3ed",
- "reftest"
- ],
- "css/css-regions/support/1x1-green.png": [
- "b98ca0ba0a03c580ac339e4a3653539cfa8edc71",
- "support"
- ],
- "css/css-regions/support/1x1-lime.png": [
- "cb397fb090e199c51e80e4243d1ede03a79aa8d9",
- "support"
- ],
- "css/css-regions/support/1x1-maroon.png": [
- "3f86b0721955eb4e0f014102c68c2a9764ef7593",
- "support"
- ],
- "css/css-regions/support/1x1-navy.png": [
- "9b9a03955baea7abde9e056e8604e18694e49b66",
- "support"
- ],
- "css/css-regions/support/1x1-red.png": [
- "6bd73ac101874f306d007e9cea8fa3a1f62dce16",
- "support"
- ],
- "css/css-regions/support/1x1-white.png": [
- "dd43faec54ae60a210f1eab6ff4e7c88b8e34c97",
- "support"
- ],
- "css/css-regions/support/60x60-gg-rr.png": [
- "84f5b2a4f1d1865d763cac875bfa6a8c5c576c91",
- "support"
- ],
- "css/css-regions/support/60x60-green.png": [
- "b3c8cf3eb4c89bd8f2d1ffde051856f375e3a3de",
- "support"
- ],
- "css/css-regions/support/60x60-red.png": [
- "823f125b8e4a60f780f00443c9c9a10b9fa1f447",
- "support"
- ],
- "css/css-regions/support/README": [
- "2e5f2ad0738c58dfdf7b368d1fff7aca4f797156",
- "support"
- ],
- "css/css-regions/support/a-green.css": [
- "b0dbb071d5b05d1c574cd5c9a660f1e3d62c573b",
- "support"
- ],
- "css/css-regions/support/b-green.css": [
- "a0473f5ca26652c1229290bbf1f81eabc1e37280",
- "support"
- ],
- "css/css-regions/support/c-red.css": [
- "d4ba5c64e95406f541e2f8cc19e192e9f521ed6b",
- "support"
- ],
- "css/css-regions/support/cat.png": [
- "85dd7324815b8f8ef1a1d0496224c1a0661db9d8",
- "support"
- ],
- "css/css-regions/support/pattern-grg-rgr-grg.png": [
- "9b88fbd81149891234185f54f8b4a0431759f181",
- "support"
- ],
- "css/css-regions/support/pattern-grg-rrg-rgg.png": [
- "fcf4f3fd7d95431b8cd1bc5f5129fcb724c5e40f",
- "support"
- ],
- "css/css-regions/support/pattern-rgr-grg-rgr.png": [
- "d454e3a630cd98146c241537dbb3d4cef313f465",
- "support"
- ],
- "css/css-regions/support/pattern-tr.png": [
- "8b4b25364e0ffbe09e563e13b567fa57330e48d5",
- "support"
- ],
- "css/css-regions/support/square-purple.png": [
- "0f522d78728417b0f74b694e2e47cd41c00359d1",
- "support"
- ],
- "css/css-regions/support/square-teal.png": [
- "e567f51b91bbe40754cb0e0cae066201219cbb4a",
- "support"
- ],
- "css/css-regions/support/square-white.png": [
- "5853cbb238cb2d4aba3dd49af3f2ba64d6c7a2de",
- "support"
- ],
- "css/css-regions/support/swatch-blue.png": [
- "bf2759634d45dbe3df13868341eddb7e4bf24172",
- "support"
- ],
- "css/css-regions/support/swatch-green.png": [
- "0aa79b0c86bd72c2220ecce39b9553e2cd3605b9",
- "support"
- ],
- "css/css-regions/support/swatch-lime.png": [
- "55fd7fdaedfc1ed505b111f20fabbca568c68fa5",
- "support"
- ],
- "css/css-regions/support/swatch-orange.png": [
- "d3cd498b52bd88ea6c991f050f1ecb1cfdd136bb",
- "support"
- ],
- "css/css-regions/support/swatch-red.png": [
- "1caf25c992aa8e23483cddb3334b5f51ec967f4a",
- "support"
- ],
- "css/css-regions/support/swatch-teal.png": [
- "0293ce89dea5c9413e4c829cc83a4e39d8f23300",
- "support"
- ],
- "css/css-regions/support/swatch-white.png": [
- "1a7d4323d77287d8eb03a89c635b09d099d94869",
- "support"
- ],
- "css/css-regions/support/swatch-yellow.png": [
- "1591aa0e2e274854ed836cf582235ea0202f9c8e",
- "support"
- ],
- "css/css-regions/support/test-bl.png": [
- "904e24e996a3e5da93bef89e10c49e24c07d0ed2",
- "support"
- ],
- "css/css-regions/support/test-br.png": [
- "f413ff5c1a0f2ad9f9a345d3e07be57a59a82207",
- "support"
- ],
- "css/css-regions/support/test-outer.png": [
- "82eeace7fc0c4202f79610978ab423e62abf8939",
- "support"
- ],
- "css/css-regions/support/test-tl.png": [
- "f6ac0ef7e8f6e192c9c26239884bf92b13cf67b8",
- "support"
- ],
- "css/css-regions/support/test-tr.png": [
- "59843ae54b64f6ce4f7e616d4be491c911ea84cf",
- "support"
- ],
- "css/css-regions/test-plan/index.html": [
- "388d1c78689b62bc7d6582cedab8a7ce9ec2a788",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-001-ref.html": [
- "d5373898308aaaa1da4b8cb33fff76867ada1ac9",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-008-ref.html": [
- "c11a78aa3b5b3dbed1d508dcb8665c40df768f7f",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-010-ref.html": [
- "c0945e56342332d342eb1706af0cea502efc3fcf",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-013-alt-ref.html": [
- "d5bb4cfbcdf64666a7b3837e1522aa9c03e5ec3a",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-013-ref.html": [
- "e16c0abd0eb9626b66d62e3cd166a9e4e4e1fff2",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-014-ref.html": [
- "887362633cd2a32d737929cdef1cd68973c9de87",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-016-ref.html": [
- "c445b93d12524f492731f58aa10c7d55859ba060",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-017-ref.html": [
- "8928057ebf60126970b5e4dec535e945e877cdc9",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-018-ref.html": [
- "96004c186caca72dfd48e7270c74d130912fc9b4",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-019-ref.html": [
- "2de61e6570b4f22f09871929d7efa81e9ff680eb",
- "support"
- ],
- "css/css-regions/transforms/reference/regions-transforms-020-ref.html": [
- "bfc3c79eb80866aa6cb23ab859e8551eb6d462bd",
- "support"
- ],
- "css/css-regions/transforms/regions-transforms-001.html": [
- "dc35614862f2e799c4d497d9558b513b9f56f0c5",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-002.html": [
- "3dca430d66e390b7bc0e441b61d580dae4b3e221",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-003.html": [
- "87ec4d31e62d11302c834a1efd0d6393245e28ad",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-004.html": [
- "3cf43cb54579f69dd092b3ca80a3a87ee844f698",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-005.html": [
- "8a0ff4d1e21542f810e4fb688fb58a486bb0c244",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-006.html": [
- "d451ed2c067b07fa9414cdf6d93525355cabbf04",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-007.html": [
- "dddc7b5b367e31e52cbc7c228a8b576212d2707f",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-008.html": [
- "70964f3e877b1380eea383dae311b10576b1daa7",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-009.html": [
- "7a26bdf512b53db28d213e5bb67cbaa215e62caa",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-010.html": [
- "3803890c9c00bb586e41adf36e92c544fe807912",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-011.html": [
- "7272c1c34fc2f0d42e391b070435dfdca9a10285",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-012.html": [
- "972894daacdf23e70f0dea39a952e67b6ecd0be7",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-013.html": [
- "c03496e405043561d91c58d02fb6e23b0aded6b1",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-014.html": [
- "38b65c10f1deb9b2672848cc6f9985d090ab9317",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-015.html": [
- "3362c46d82044b87d7d9e2badbb0b819e9cc4b42",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-016.html": [
- "ba0628e931fe7e7460ba0e3062b0c9248d26954b",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-017.html": [
- "7a3f69f7af43dd93ff05240ed2f2958a9378b6d1",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-018.html": [
- "b267886a40569d326ef4efdb2dcc4bcd4e73a582",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-019.html": [
- "7114a97e3dd14c634e5551ccbe824a15fbc067b0",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-020.html": [
- "e2e7d7d09bc9a99a102918d765ea84bb9abe8eaa",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-021.html": [
- "0c5ceddc4629d0d8f2401bb9a2f394181c368662",
- "reftest"
- ],
- "css/css-regions/transforms/regions-transforms-022.html": [
- "8dbaf902eb97ee45aa2af896016ab650f3e18e12",
- "reftest"
- ],
- "css/css-regions/variable-width-001-ref.xht": [
- "05522170e61d182692f5d8edaae3971c28307540",
- "support"
- ],
- "css/css-regions/variable-width-001.xht": [
- "1049b421c115f57a1774ebbc3a9b89a28839b2bd",
- "reftest"
- ],
- "css/css-regions/writing-modes/extract-ordered-list-direction-and-writing-modes.html": [
- "8bbdb97de055017354cfe8f8da4ff787b2f920d1",
- "reftest"
- ],
- "css/css-regions/writing-modes/reference/extract-ordered-list-direction-and-writing-modes-ref.html": [
- "e713238bfec5b4dd11df310c7747748941b8b37d",
- "support"
- ],
"css/css-rhythm/META.yml": [
"9858c1c56efdadac206e7494fbf47d95ddb75b23",
"support"
@@ -600817,7 +606713,7 @@
"testharness"
],
"css/css-syntax/escaped-eof.html": [
- "5d47c34ac512fab7eb9c37e64b0c677d09a8e3d3",
+ "b4450ea730f75d95838188aa09f652c9e91adc08",
"testharness"
],
"css/css-syntax/ident-three-code-points.html": [
@@ -609205,11 +615101,35 @@
"reftest"
],
"css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html": [
- "d271057c43cc7b232c00fa0f3426e2ef5a7666f3",
+ "cde64415b7b074d0efe35ffa189b27f0b0327ded",
"reftest"
],
"css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html": [
- "e10b4e19033ea81edd8aefb8131db8a8b49828d3",
+ "fccb3f48e465f81aa1154a81f9891a2d3f451738",
+ "reftest"
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html": [
+ "7b6630c7d00cef1178bb54f9819982d300fcc2f7",
+ "reftest"
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html": [
+ "11e3e3d675875683c46e0bf4a68ecedfca94710c",
+ "reftest"
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html": [
+ "75d8b2000648b339416c469e22b57230db224cbb",
+ "reftest"
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html": [
+ "fad383233b31b29633bc08ec61472f179e74555f",
+ "reftest"
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html": [
+ "ba0c5364884acf7afc87140ea36cdd68e590150a",
+ "reftest"
+ ],
+ "css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html": [
+ "00f97f0360977a582e2e16057445dc47f34198e8",
"reftest"
],
"css/css-text/white-space/white-space-wrap-after-nowrap-001.html": [
@@ -615193,7 +621113,7 @@
"testharness"
],
"css/css-transitions/transitionevent-interface.html": [
- "cd47469ec742106ace7d904dc588d746ac514ba5",
+ "a40ba4537518361c13aab1d9b0648387f7c88aaa",
"testharness"
],
"css/css-transitions/zero-duration-multiple-transition.html": [
@@ -615269,7 +621189,7 @@
"testharness"
],
"css/css-typed-om/stylevalue-objects/parse-invalid.html": [
- "ea1d56442b1ecbc29128e5a32e04402b05144e66",
+ "13ee2df1a6e042b545a6b1c4ec05c769ec532f97",
"testharness"
],
"css/css-typed-om/stylevalue-objects/parse.html": [
@@ -615277,7 +621197,7 @@
"testharness"
],
"css/css-typed-om/stylevalue-objects/parseAll-invalid.html": [
- "c18095435595df9a7e157b6663c8f2916d6e6e3a",
+ "45fad409bbfea4b8485514ed43087df62680dd24",
"testharness"
],
"css/css-typed-om/stylevalue-objects/parseAll.html": [
@@ -615321,11 +621241,11 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssKeywordValue-invalid.html": [
- "b923f380bda98f2334616cc6855909e210f841a2",
+ "69007a1c590ca4c5b5f6ef2388353392321f293d",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssKeywordValue-value.html": [
- "1af557fb08678754179d00597352975959b549ef",
+ "ceb39bce5d21733cce08b9cd678a8b5ddd483f17",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssKeywordValue.html": [
@@ -615337,11 +621257,11 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative.html": [
- "4fbd7ca0ae452e31da4f27765b496143020f6e79",
+ "5edf5bb5b01fa15abeba7eac529078da8c9f17ef",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html": [
- "d63c0c78694aa7f4476ebeb7680e36951e9d729f",
+ "9ff9f014e19f9780f09191f3b879126a91c4efff",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssPositionValue.html": [
@@ -615349,27 +621269,27 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssRotate.tentative.html": [
- "17490dcea90c8ac797c55dc4b5f973e0f040967e",
+ "6c234bc4724e70410a61e5f6397f6a3fa2d53be1",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssScale.tentative.html": [
- "d52a8f1a2261ee7d0fe660b73b43205eff75030d",
+ "9bbe6c92f115b15b9c97602ace7c1ce4762beea1",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssSkew.tentative.html": [
- "2b22d9bcd218169279956993bc8beb9605469aa7",
+ "0a410859b2297635e494ebe856cdd29580f8ff31",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative.html": [
- "1e614146563fb994cad20e255e77fa14819b54ad",
+ "59d7c064edd40190bcf2abc0b6bd0385fc5e1a14",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative.html": [
- "643d2f686bb81465ddb6c5eb8140cc2265f45598",
+ "6a6fe55a97672a73146e9917ae2cd7b6c2907432",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units.html": [
- "67b63a6b6661c2271fe9314d46607bd393a1ee03",
+ "432943b6da03c1ea6587587007cc9e778096db86",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix.html": [
@@ -615381,15 +621301,15 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative.html": [
- "47dc05dbec6a77584c56826922830d7ce32dbfe8",
+ "4c1a4861fe8dd66fb7f88a19fc1a739d9739ecc9",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative.html": [
- "7ce281d43b6c4ca46e6a20460cdc4dfa607d4224",
+ "0554351db3b320e5d19e65a2f2fe2e093bc739c6",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter.html": [
- "9f0403fbae406e605548d4a345737fa66332d23c",
+ "65a65ac0dfe681d1d9155f8565b52eba0b1baf80",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-iterable.html": [
@@ -615405,11 +621325,11 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-invalid.html": [
- "3696e9997edf7bb265cf88f93dc365879e2d33a8",
+ "4da6a322bd63c0af0e121295c154841c611b0761",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-variable.html": [
- "236758bf1f281b9b1290d2cb304a878e26378515",
+ "51b60a8df5527b67f86ebee1d0e563711bdc6435",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue.html": [
@@ -615417,11 +621337,11 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative.html": [
- "313ff5acfdb2279729e8265468d855ce3971b21f",
+ "3571d542f8cb85c69a2e12c89e0df96e2001791d",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative.html": [
- "d58bb075ce292c8d42d3fc9d046873b2239764c4",
+ "cb9a7a71027df149eaa478b13ae3d147e906befc",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/create-a-type.tentative.html": [
@@ -615437,7 +621357,7 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative.html": [
- "574043e84d8171529ba41be478a2eef48cb12ad8",
+ "2be200eea95812c6a753da8da176fc8ebeb15fce",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue-value.html": [
@@ -615445,11 +621365,11 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue.html": [
- "411b36fe1ed717e3d4d5fe49fd1a5456f4c545de",
+ "b44c67129fc465a590f76bdf7d3dba55383e76bf",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative.html": [
- "38045ee0fe5a78287a2c15c94f866c67bc4176ab",
+ "e09c57e641b998a6d53f3d0259ea1fb6324297b2",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/equals.tentative.html": [
@@ -615461,7 +621381,7 @@
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative.html": [
- "c4904ded6b6e12618852369dcba0aaebe4620d13",
+ "9b9f2f601ae5e796abe6f34b1ea0cc6930fd373a",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/resources/testhelper.js": [
@@ -615469,11 +621389,11 @@
"support"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative.html": [
- "57ac63118c433b2275b35ac24cba2f44601dc18a",
+ "bf78c509c8d03b94bd9944de876a41c3584bea19",
"testharness"
],
"css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative.html": [
- "3d67f7d88bc7ecadd6938d91bf4c3bf1d113d36f",
+ "1e5e1c9b76a606cf18c1b8fd8f18add62e7fb91f",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/computed/computed.tentative.html": [
@@ -615485,7 +621405,7 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/computed/get-invalid.html": [
- "8117d18b764ced36e845b20e0de6f358d5ed363c",
+ "403c2691f405bdad35cef42fea29eb8951836bfc",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/computed/get-shorthand.html": [
@@ -615501,11 +621421,11 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/computed/getAll.tentative.html": [
- "ca7d3b6a65f550fd296311ff6edf158c3d11eeba",
+ "1673a52bc0c124f6c759b3c946d4b9baaa003757",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/computed/has.tentative.html": [
- "d387304d43a93e6f1617220c426f112eb5e46267",
+ "53924c4a4834b14cd76e0239c217448419d18f46",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/computed/iterable.tentative.html": [
@@ -615513,7 +621433,7 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/append.tentative.html": [
- "3f94a899ea5213a8f22f386a074c42b9f8f16557",
+ "ced6e81aaad39031adb68e87e7f2b20babaccb58",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/clear.html": [
@@ -615525,7 +621445,7 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/delete-invalid.html": [
- "547ea26976252c2aea77d483dfa8cb59ea73296b",
+ "04dcccf5e895840fc3c36ee5a84a6063947ce5bb",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/delete-shorthand.html": [
@@ -615537,7 +621457,7 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/get-invalid.html": [
- "a91d1978130ac57a52a4fe404edd1d0ef2ac5f97",
+ "0cd1412945be25f7776d207b467dd50576f2c36e",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/get-shorthand.html": [
@@ -615553,11 +621473,11 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/getAll.tentative.html": [
- "dd4e90b22f48ef71173d2877ac957f45c32d3d9d",
+ "97baf08a784e701c9a368b698ab83516278b33dd",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/has.tentative.html": [
- "93d29d94c3f54d1928d204f618838f2fe818d7b4",
+ "6ea24c7ea9f0b4c37d6d5fb1e4a234b9b73c08e8",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/iterable.tentative.html": [
@@ -615565,15 +621485,15 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/set-shorthand.html": [
- "2d6ec13ffc26c1b4cb0a4f561ed9625461e04d6a",
+ "7a025df64793cb6e1b55c7f2ec2c34c25a3ce7a0",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/declared/set.tentative.html": [
- "6161f94d53cb2f4fa8b9cc9bd3a8a9afc97a0031",
+ "d9c24fafc22b898ffc4ed442d00d5adbd81a1da7",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/append.tentative.html": [
- "36c14d76b6e2055ca2669e718a5c7d5490f7321d",
+ "ee9a9e4ddbcf78a7517d8d038d66844880719e63",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/clear.html": [
@@ -615581,7 +621501,7 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/delete-invalid.html": [
- "cc2657ecbdc4f019f1da9677d2f78635c1b1ddd7",
+ "a4f1b620b03e31c7ee29b18ceba59ff59482d504",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/delete-shorthand.html": [
@@ -615593,7 +621513,7 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/get-invalid.html": [
- "b847567008ccdcf7d8386b2305203d9bd92cb7c9",
+ "07f4a6dc7c42f7510178736b218e8a1f8848b9db",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/get-shorthand.html": [
@@ -615609,11 +621529,11 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/getAll.tentative.html": [
- "c7e370086db8ffabc326598074db5ce171ab0c7f",
+ "935417ddcc022656371e1a88a36473112b286d86",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/has.tentative.html": [
- "d2528831d85305357912994b6760f1fa705ae16c",
+ "0427d5a606a73c02e1ac3f10c0941ca415880295",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/iterable.tentative.html": [
@@ -615621,11 +621541,11 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/set-shorthand.html": [
- "e00d07cc5028747a9d528fc103f3c357fadeeadf",
+ "87ecadcb75c7c38202d5aeab5d23bdfe282b000e",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/inline/set.tentative.html": [
- "411323a2f0c70b3820b272f97c7795d598ef6e8c",
+ "048ad87e8b1360995a2a7f20fd1e1ee0b9764567",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/properties/alignment-baseline.html": [
@@ -616273,7 +622193,7 @@
"testharness"
],
"css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js": [
- "3ca0b55f3f111b9c4b306f57b6a02b151528d176",
+ "27042c787a1bfc3d3ad1d70f91de8aa09433001f",
"support"
],
"css/css-typed-om/the-stylepropertymap/properties/right.html": [
@@ -619544,6 +625464,10 @@
"ffb2ecd6dc9c1a1bf4b8f5fc23c851f00e01fd6d",
"reftest"
],
+ "css/css-values/ch-pseudo-recalc-on-font-load.html": [
+ "6a60bdfa64d874a74d65d60dfc4c2f82d9aaf07a",
+ "testharness"
+ ],
"css/css-values/ch-recalc-on-font-load.html": [
"625521b8102deb6cb2ca89eced91dda720c8408c",
"testharness"
@@ -627653,7 +633577,7 @@
"testharness"
],
"css/cssom-view/elementFromPoint-parameters.html": [
- "899e411bdd302f2995a9d337ac5a3f89bd1c709b",
+ "35afec994ee4b4b6563f71e3a0fe4531382c3b5e",
"testharness"
],
"css/cssom-view/elementFromPoint-subpixel.html": [
@@ -628281,7 +634205,7 @@
"testharness"
],
"css/cssom/CSSGroupingRule-insertRule.html": [
- "2364465f8374bbf824e669a2e965c6ce19312c50",
+ "d131e3975d27e7442a6d15a7ac8c160d9e71f9a5",
"testharness"
],
"css/cssom/CSSKeyframeRule.html": [
@@ -628313,11 +634237,11 @@
"testharness"
],
"css/cssom/CSSStyleSheet-constructable.html": [
- "6d1f4ae6519296577c3890645fc079c275de49e9",
+ "215095fcc3e1813dc331084f50bfc977f95a8d08",
"testharness"
],
"css/cssom/CSSStyleSheet.html": [
- "d38efc280232c182db8c301714083a0e3d002413",
+ "c744382b55e8b9da394132406f22492807f7160e",
"testharness"
],
"css/cssom/HTMLLinkElement-disabled-001.tentative.html": [
@@ -628373,7 +634297,7 @@
"testharness"
],
"css/cssom/at-namespace.html": [
- "04a8a2289aa67e05a359ece1d09d961539d82571",
+ "b1c76f3c58ae38d8ef4925d5098d523fdd218036",
"testharness"
],
"css/cssom/border-shorthand-serialization.html": [
@@ -628381,7 +634305,7 @@
"testharness"
],
"css/cssom/computed-style-001.html": [
- "d637b066b03a71283ad89315a5c346a1715900f1",
+ "e487981e305df3b76f6cc45ea12bc0bf3349c2a7",
"testharness"
],
"css/cssom/computed-style-002.html": [
@@ -628401,7 +634325,7 @@
"testharness"
],
"css/cssom/computed-style-set-property.html": [
- "0a5e4cb0589799e19fe9fc91f134d03e42d73206",
+ "a1f1380dcccfbd437208bd4d1a137dd2ae2179e2",
"testharness"
],
"css/cssom/css-style-attr-decl-block.html": [
@@ -628473,7 +634397,7 @@
"testharness"
],
"css/cssom/cssstyledeclaration-mutability.html": [
- "e7bde1bda639f3202083947444e18706040ad923",
+ "1e0489ee97b633183b8aa34841fd732869db1d00",
"testharness"
],
"css/cssom/cssstyledeclaration-mutationrecord-001.html": [
@@ -628517,7 +634441,7 @@
"testharness"
],
"css/cssom/escape.html": [
- "115e2c86a9a0d8e1ea7465ecf5143a42e1104c85",
+ "721c6ea35572d42e2782d6f40f7e73539df35b3a",
"testharness"
],
"css/cssom/font-shorthand-serialization.html": [
@@ -628585,7 +634509,7 @@
"testharness"
],
"css/cssom/getComputedStyle-pseudo.html": [
- "340f9eed9b955467eb39c957222328baf2c41d4a",
+ "1795bcf2ba40806f11c0fd35a1ede40d56c937a5",
"testharness"
],
"css/cssom/getComputedStyle-resolved-min-max-clamping.html": [
@@ -628625,11 +634549,11 @@
"reftest"
],
"css/cssom/insertRule-import-no-index.html": [
- "ad3622f86aaa4dfd58ee18015d1ef8dd1ebd6a70",
+ "45481e71f4f5e64ba43c63cf7cc29d300675b30d",
"testharness"
],
"css/cssom/insertRule-namespace-no-index.html": [
- "c1628eed85f9f6350d41f5653440af0c78578f51",
+ "3265159736eaf1d0d72abbe19cfbb1dc011a986c",
"testharness"
],
"css/cssom/insertRule-no-index.html": [
@@ -628637,7 +634561,7 @@
"testharness"
],
"css/cssom/insertRule-syntax-error-01.html": [
- "170213c8badbcddda70b2313902fa7c21a757333",
+ "4461a9a9432df08a236414f1c781e6bbf7b89945",
"testharness"
],
"css/cssom/medialist-dynamic-001-ref.html": [
@@ -628653,7 +634577,7 @@
"testharness"
],
"css/cssom/medialist-interfaces-002.html": [
- "210ace1393a12c34323983dddf9b11467cb38d94",
+ "0d2ca2e9c71d1a87e7240b77768709995e165395",
"testharness"
],
"css/cssom/medialist-interfaces-003.html": [
@@ -628749,7 +634673,7 @@
"support"
],
"css/cssom/stylesheet-same-origin.sub.html": [
- "ef714670f5488f76d987a464a2732d60410f22ab",
+ "6ad55190dab366f2d9e4bdf7755750d7f5945bbe",
"testharness"
],
"css/cssom/stylesheet-title.html": [
@@ -629961,7 +635885,7 @@
"support"
],
"css/filter-effects/svgfeblendelement-mode-001.html": [
- "8c9e3ea05805a5030b8034a7a01e53d4984a39dc",
+ "f27a23f51a2976ec2cdd875319c4227029cf6dea",
"testharness"
],
"css/filter-effects/tainting-feblend-001.html": [
@@ -630089,7 +636013,7 @@
"reftest"
],
"css/geometry/DOMMatrix-001.html": [
- "a42adb4425f43babd1b55ed34a7bda819cf64e29",
+ "1752c2c5caedc1bbb7e5594448c7e12c5dae8665",
"testharness"
],
"css/geometry/DOMMatrix-002.html": [
@@ -630109,7 +636033,7 @@
"testharness"
],
"css/geometry/DOMMatrix-css-string.worker.js": [
- "42f919d3f09c0701f7db1be23ba5bf8c119d1a28",
+ "d11638b26a664b0dea0206b657847236239e2aa2",
"testharness"
],
"css/geometry/DOMMatrix-newobject.html": [
@@ -630117,15 +636041,15 @@
"testharness"
],
"css/geometry/DOMMatrix-stringifier.html": [
- "126c44431759c265e279e69bb9a09e55708ccf3e",
+ "5a39238bef5c79fb39fffcfbedc71e901b4e2753",
"testharness"
],
"css/geometry/DOMMatrix2DInit-validate-fixup.html": [
- "7ef4ca8b0605f794c1d2eeec019afdedba29cb1f",
+ "480d67a481d30965a734cdf76c60646a464823b8",
"testharness"
],
"css/geometry/DOMMatrixInit-validate-fixup.html": [
- "8835c1ba48a7d208f3e62e58060d237728759d87",
+ "b89b75205eb1f866fa0ea276b09387f8706e54ad",
"testharness"
],
"css/geometry/DOMPoint-001.html": [
@@ -630133,15 +636057,15 @@
"testharness"
],
"css/geometry/DOMPoint-002.html": [
- "b7f5a911772b21272265bfbc6fdebdee62bce0a8",
+ "96276d86f5aada1873cc96416cc189a417e22ce4",
"testharness"
],
"css/geometry/DOMQuad-001.html": [
- "38c54285d94b516c9be6f904be2542956b81c53e",
+ "331bb6159563d29405a01d8830391def301e8d35",
"testharness"
],
"css/geometry/DOMQuad-002.html": [
- "9e3ef98895ad0f76348d57a91ae4a99f887b5d4c",
+ "5734be1f2938a2d4995c4b4b74ab9c7e5d807f59",
"testharness"
],
"css/geometry/DOMRect-001.html": [
@@ -630181,7 +636105,7 @@
"testharness"
],
"css/geometry/spec-examples.html": [
- "4e97fb5f217ed28bf934974c16d07656b0addb94",
+ "61efa2a89bf84d20d02969a8c34a98f039eb91af",
"testharness"
],
"css/geometry/structured-serialization.html": [
@@ -630713,7 +636637,7 @@
"testharness"
],
"css/motion/parsing/offset-path-parsing-valid.html": [
- "0ed360f6e369e5b53ae4ae0b1b535a7ff8e31ca9",
+ "fce99f572e9c5c1c01bcf2f27f37e344f91b7ef3",
"testharness"
],
"css/motion/parsing/offset-position-computed.html": [
@@ -630877,7 +636801,7 @@
"testharness"
],
"css/selectors/attribute-selectors/attribute-case/syntax.html": [
- "e5acde100b06a6cf9c5eafe1e202298e87103929",
+ "0eda7374053fd5a5ce23c00998f5b4923a57c4bd",
"testharness"
],
"css/selectors/child-indexed-pseudo-class.html": [
@@ -632721,11 +638645,11 @@
"reftest"
],
"css/selectors/user-invalid.html": [
- "f0c3d93cbea2430a98e1c524910ded94567a70d7",
+ "05cf2b679039c61732054217cf562bfeb7c3d23a",
"testharness"
],
"css/selectors/webkit-pseudo-element.html": [
- "5ba98eba21b60e1efa364a8c98dfd0da1983316f",
+ "30103fa72bf479fb80e75c03058f33a150119be8",
"testharness"
],
"css/selectors/x-pseudo-element.html": [
@@ -632833,7 +638757,7 @@
"support"
],
"css/support/parsing-testcommon.js": [
- "647bc125df9a877f8299de43ff1c83f7d7dea167",
+ "bcb9d7cdd60546cb84648e2efc03826b7cb0309d",
"support"
],
"css/support/pattern-grg-rgr-grg.png": [
@@ -642373,7 +648297,7 @@
"reftest"
],
"custom-elements/CustomElementRegistry.html": [
- "c288e8232703afbe00d355ef5b40bdc8d1fa0ac2",
+ "cc81e3a2cd3945ceac4ff461b14903c3901b1ba4",
"testharness"
],
"custom-elements/Document-createElement-svg.svg": [
@@ -642381,7 +648305,7 @@
"testharness"
],
"custom-elements/Document-createElement.html": [
- "8173c7613886aaf3b289271025ddf8d7f1d12579",
+ "64b6f25b5e7bc489f74dcefe8c8c6bdc5f6796b3",
"testharness"
],
"custom-elements/Document-createElementNS.html": [
@@ -642389,11 +648313,11 @@
"testharness"
],
"custom-elements/HTMLElement-attachInternals.html": [
- "22c9545215c8d97f1d8564c99cde806933c7f0f9",
+ "9331869f8fe388503f93d6526111c34f36fa95ad",
"testharness"
],
"custom-elements/HTMLElement-constructor.html": [
- "a0bfa909bae1e98febaa5ef8eb3170ca30b58c13",
+ "8e33137d4ff7514918a986d55a96c29b1e5988f5",
"testharness"
],
"custom-elements/META.yml": [
@@ -642425,7 +648349,7 @@
"testharness"
],
"custom-elements/custom-element-registry/define.html": [
- "e5d71ec6eab1fb06d39d947ae8d11f8d30a9889a",
+ "61717b2e20035d5e1e4b722eadfc525118c39d0b",
"testharness"
],
"custom-elements/custom-element-registry/per-global.html": [
@@ -642445,7 +648369,7 @@
"testharness"
],
"custom-elements/form-associated/ElementInternals-NotSupportedError.html": [
- "0d8a5ffc8c35016ef33dedc73fdd0b2c1c1fef59",
+ "51be7183c1e0a8456ade46de3ecea4166f8988d1",
"testharness"
],
"custom-elements/form-associated/ElementInternals-accessibility.html": [
@@ -642461,7 +648385,7 @@
"testharness"
],
"custom-elements/form-associated/ElementInternals-validation.html": [
- "d71161476918a32729e7e3e4f4bca95f835ba437",
+ "f67e96465bd626750eb50eba1766228eecab9644",
"testharness"
],
"custom-elements/form-associated/form-associated-callback.html": [
@@ -642481,7 +648405,7 @@
"testharness"
],
"custom-elements/htmlconstructor/newtarget.html": [
- "8d30682c10c28cd82d61333d03790d96355418d9",
+ "b95d7ade0bbd2cf490ecf82dba21ecefc12eab5c",
"testharness"
],
"custom-elements/microtasks-and-constructors.html": [
@@ -642757,7 +648681,7 @@
"support"
],
"custom-elements/reactions/with-exceptions.html": [
- "82e0f59c93022fcd6321c6b8ad1f8d7014b74382",
+ "e7cdee789d4a50b25dfd8620aaa2a756686201d2",
"testharness"
],
"custom-elements/resources/custom-elements-helpers.js": [
@@ -642777,11 +648701,11 @@
"support"
],
"custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html": [
- "5938a0aeb9f2af389ec7da1131d8965c0216cfca",
+ "853595040143df0f70173279c755dd64f102f10e",
"testharness"
],
"custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html": [
- "b9f9f55c705e9ca4f04b783657c7f30bbd7b34ac",
+ "49335bf9b425f3da178cc20ae4860333f5de4468",
"testharness"
],
"custom-elements/upgrading.html": [
@@ -643153,11 +649077,11 @@
"testharness"
],
"dom/collections/HTMLCollection-as-prototype.html": [
- "75546a77c5e5b0cc4441625086a6794d141be0cd",
+ "d572d35c041496904901a9eb900e84f2f5b63704",
"testharness"
],
"dom/collections/HTMLCollection-delete.html": [
- "6f5b9326bb94a24fa83a1370e01f366865f1a97e",
+ "99420d431914ad95a3c7e0257b06c9452bee597e",
"testharness"
],
"dom/collections/HTMLCollection-empty-name.html": [
@@ -643169,15 +649093,15 @@
"testharness"
],
"dom/collections/HTMLCollection-own-props.html": [
- "1f21c0837ec92bf48b6f497da22e60a435913a06",
+ "99dc425dbe42c11cf5e23c7a518219e6c12b13fb",
"testharness"
],
"dom/collections/HTMLCollection-supported-property-indices.html": [
- "62ee6bb6abf69e1a4f1b24937c184f86815aca79",
+ "5339ec31ea1d5e644ced1dfd628a6cc9e34e207c",
"testharness"
],
"dom/collections/HTMLCollection-supported-property-names.html": [
- "0a9df1ad6606476c3f3463032957cec931af19b4",
+ "3d21e16692108b66c0d9cd39f60d1f7b546bc38b",
"testharness"
],
"dom/collections/domstringmap-supported-property-names.html": [
@@ -643205,7 +649129,7 @@
"testharness"
],
"dom/events/CustomEvent.html": [
- "abc6c370fd2e87a325c81807eb202a88281a3b5f",
+ "87050943f9bffac8c17b85e1dba977eaebc78ec5",
"testharness"
],
"dom/events/Event-cancelBubble.html": [
@@ -643217,7 +649141,7 @@
"testharness"
],
"dom/events/Event-constructors.html": [
- "5f1ed15792c5e255934c9e55e9535ab1ce199954",
+ "72347efd5324adb4e518b8e725f258646265df55",
"testharness"
],
"dom/events/Event-defaultPrevented-after-dispatch.html": [
@@ -643289,7 +649213,7 @@
"testharness"
],
"dom/events/Event-dispatch-redispatch.html": [
- "dc180c61567b723bb2f3dd9e29bc20f3f8f3a921",
+ "b4584fb72008d421a4e024c27af996c9a8f9e221",
"testharness"
],
"dom/events/Event-dispatch-reenter.html": [
@@ -643313,7 +649237,7 @@
"testharness"
],
"dom/events/Event-initEvent.html": [
- "34ed32af67bfb13b2ea40d24bdb04cf5c20be06d",
+ "ad1018d4daf7ba665a658119e2e6954a1a7edce2",
"testharness"
],
"dom/events/Event-isTrusted.any.js": [
@@ -643329,7 +649253,7 @@
"testharness"
],
"dom/events/Event-subclasses-constructors.html": [
- "1fd70d4222bb57f9fb97996181858116c0e781f2",
+ "08a5ded011635c66151d22a09330f9341eb48c91",
"testharness"
],
"dom/events/Event-timestamp-high-resolution.html": [
@@ -643397,7 +649321,7 @@
"testharness"
],
"dom/events/EventTarget-dispatchEvent.html": [
- "8a0d7353bc62ba8330069fef4c71a0e33321b0aa",
+ "783561f5fb59432a240fe552042927b84f8c6454",
"testharness"
],
"dom/events/EventTarget-removeEventListener.html": [
@@ -643545,11 +649469,11 @@
"support"
],
"dom/nodes/CharacterData-appendChild.html": [
- "db7d51b915df8392dd68d1227f7e6092eaffbb08",
+ "eb4f36c68107264f9be71feb38b28501c38806a4",
"testharness"
],
"dom/nodes/CharacterData-appendData.html": [
- "d754218bfb1f61ed84914ea6d45223aa4bede54d",
+ "a5d4072244ed888c9b564579c4062d4cd788ea01",
"testharness"
],
"dom/nodes/CharacterData-data.html": [
@@ -643557,11 +649481,11 @@
"testharness"
],
"dom/nodes/CharacterData-deleteData.html": [
- "02ecbe6abfa0298ba069eb35bb15457f38b093eb",
+ "84f4d5b41569c207ac13cc58d51cc845844bf57c",
"testharness"
],
"dom/nodes/CharacterData-insertData.html": [
- "5777327c26fabde24da955c525109d83204010fc",
+ "62c0ca10182a64595173d46a5aeaea05a890a131",
"testharness"
],
"dom/nodes/CharacterData-remove.html": [
@@ -643569,11 +649493,11 @@
"testharness"
],
"dom/nodes/CharacterData-replaceData.html": [
- "624ee5f237f64e3031e012fef2abca1de7a31312",
+ "537751d832063a42b2c5adf2230501ee37497892",
"testharness"
],
"dom/nodes/CharacterData-substringData.html": [
- "f20b4b202ba0e855994f3fb55ca6a447b32807ab",
+ "b353526480e5dc1670722af9c49eb58f371bd0dc",
"testharness"
],
"dom/nodes/CharacterData-surrogates.html": [
@@ -643605,11 +649529,11 @@
"testharness"
],
"dom/nodes/DOMImplementation-createDocument.html": [
- "72519dd38d994409bf138cfb86897a3b75ef1e92",
+ "835002b47077672583df7b364323428dd67ffee8",
"testharness"
],
"dom/nodes/DOMImplementation-createDocumentType.html": [
- "f7e6e18b84425688e6cc2f742825b511de848d51",
+ "8d23e66a2b0324ee4d4988e07ac89c9b81b8ad17",
"testharness"
],
"dom/nodes/DOMImplementation-createHTMLDocument.html": [
@@ -643625,7 +649549,7 @@
"testharness"
],
"dom/nodes/Document-Element-getElementsByTagName.js": [
- "c18b2069f98ff98671aa553560bb2dd0deaef50d",
+ "dbbe667ff52549fc5f18fc3e7c11e49ca12fc542",
"support"
],
"dom/nodes/Document-Element-getElementsByTagNameNS.js": [
@@ -643637,7 +649561,7 @@
"testharness"
],
"dom/nodes/Document-adoptNode.html": [
- "584d5d9fe0396ef9989d515c61b0fb815a918c02",
+ "60a4e6772ab85e5388d1bfa13f4f46249266415f",
"testharness"
],
"dom/nodes/Document-characterSet-normalization.html": [
@@ -643757,7 +649681,7 @@
"support"
],
"dom/nodes/Document-createAttribute.html": [
- "b494257958fa55c58bd0e997cd30ae0c00c13194",
+ "b3dc8b60b9b0a6e1b0d459a993c21ff9df20ef57",
"testharness"
],
"dom/nodes/Document-createComment-createTextNode.js": [
@@ -643937,11 +649861,11 @@
"testharness"
],
"dom/nodes/Document-createElement.html": [
- "a74962752e7fde79439d869cca4eb01955a45fa5",
+ "653108ca11acec98bb7a0990034c0d3a1338f4d1",
"testharness"
],
"dom/nodes/Document-createElementNS.html": [
- "6df8c785b8bd939f5631a25a0d86a6d9c60617fe",
+ "43cf800b4cced3ced2b09216c0d909f26412dfeb",
"testharness"
],
"dom/nodes/Document-createElementNS.js": [
@@ -643949,7 +649873,7 @@
"support"
],
"dom/nodes/Document-createEvent.https.html": [
- "bdc1895879bfa613e72229b44d535f76f785c5a2",
+ "b4fb8cd0a31382d2f6d235b500ed8c667012b9e1",
"testharness"
],
"dom/nodes/Document-createEvent.js": [
@@ -643965,7 +649889,7 @@
"testharness"
],
"dom/nodes/Document-createProcessingInstruction.js": [
- "114ac35d9f8230299c32f19ff683f464e368caf2",
+ "d6cc3725f030b41ad25482a978bc930b4b414960",
"support"
],
"dom/nodes/Document-createTextNode.html": [
@@ -643973,7 +649897,7 @@
"testharness"
],
"dom/nodes/Document-createTreeWalker.html": [
- "f8f04b068fd467bf9cb9102b5b5b2c1c1d47e158",
+ "1e8420d8416c2ce4e5c7ad4ba6769d0a7e59f06c",
"testharness"
],
"dom/nodes/Document-doctype.html": [
@@ -644085,7 +650009,7 @@
"testharness"
],
"dom/nodes/Element-classlist.html": [
- "5453da90da66847912797e86bc3981d723120120",
+ "2b5a271ba410250ba21d5b5c02b1fc238969de67",
"testharness"
],
"dom/nodes/Element-closest.html": [
@@ -644149,11 +650073,11 @@
"testharness"
],
"dom/nodes/Element-insertAdjacentElement.html": [
- "d03e56680d40ea6730703a68fc0c98351ac79312",
+ "9eafee6a76ef81812e5e47616ebecd5885f684e6",
"testharness"
],
"dom/nodes/Element-insertAdjacentText.html": [
- "0fafabb519a2cc461580f12178e9ca7319a08f51",
+ "be744fd49eb4287905e66c59ab86d12efb41c377",
"testharness"
],
"dom/nodes/Element-lastElementChild-svg.svg": [
@@ -644177,7 +650101,7 @@
"testharness"
],
"dom/nodes/Element-matches.js": [
- "6e5069fa5beebcdccb2fd0645d7c40678bb7392c",
+ "9494f6f0eacb1b9604d3781b6e541bf7a47e6071",
"support"
],
"dom/nodes/Element-nextElementSibling-svg.svg": [
@@ -644269,7 +650193,7 @@
"testharness"
],
"dom/nodes/Node-appendChild.html": [
- "684607961a7eeaefb17b3a49dbf9ed36a3d7aee6",
+ "8264cb11a551dd07d63f5701d82a471fa39340fd",
"testharness"
],
"dom/nodes/Node-baseURI.html": [
@@ -644293,7 +650217,7 @@
"testharness"
],
"dom/nodes/Node-contains-xml.xml": [
- "b95b7ffd1bdfa0cdc4cd80703ccbc6b3717d96f2",
+ "3c026b02421e3a0d26962916acadd67480a82666",
"testharness"
],
"dom/nodes/Node-contains.html": [
@@ -644301,7 +650225,7 @@
"testharness"
],
"dom/nodes/Node-insertBefore.html": [
- "2e511b8e9a2f0dd4066de0ab28f0f32efa7f4f93",
+ "6977501501ddf03ed966416f5d52d0811cad2138",
"testharness"
],
"dom/nodes/Node-isConnected.html": [
@@ -644369,11 +650293,11 @@
"testharness"
],
"dom/nodes/Node-removeChild.html": [
- "fb22583222062dbee1d71d256bd7cb0bfefe19a1",
+ "a4581aadc9b2526001cb5a70282d5e1939c0e819",
"testharness"
],
"dom/nodes/Node-replaceChild.html": [
- "3c289a4c14d0185ae1dfe1e52776bbac33cf6b23",
+ "e942cfa3ec44c0ca5f3692eefdd6e58f894850a7",
"testharness"
],
"dom/nodes/Node-textContent.html": [
@@ -644417,7 +650341,7 @@
"testharness"
],
"dom/nodes/ParentNode-querySelector-All.js": [
- "dd789b72da257f508786fc517e090bcb951a9978",
+ "3d424f750b9700a23261bc84547c11e28f4b1fea",
"support"
],
"dom/nodes/ProcessingInstruction-escapes-1.xhtml": [
@@ -644437,15 +650361,15 @@
"testharness"
],
"dom/nodes/Text-splitText.html": [
- "aec1cee52ed55b7c9b93d7565a3cae1a5eea7698",
+ "2dd23018cb4c7445cda7e84695e883fa65b557fb",
"testharness"
],
"dom/nodes/adoption.window.js": [
- "86893a4ae770e455be8428764cdd33236c6c8255",
+ "ad90aaf375a521305605174a770ea95d6309c16c",
"testharness"
],
"dom/nodes/append-on-Document.html": [
- "8d9ce2e3ff604ee43807ee0eb1962870439725a9",
+ "78f278b381563640941c70d2bb2c48f46db13aa8",
"testharness"
],
"dom/nodes/aria-attribute-reflection.tentative.html": [
@@ -644457,7 +650381,7 @@
"testharness"
],
"dom/nodes/attributes.html": [
- "dac191b54cb2cafdaf9a71a297d130e571cd5230",
+ "65bea67173d2475a27c33b7cbf69bda17af2dacb",
"testharness"
],
"dom/nodes/attributes.js": [
@@ -644609,7 +650533,7 @@
"support"
],
"dom/nodes/insert-adjacent.html": [
- "247b7d1742b398dd7d58911e5ee0533e15497042",
+ "68b6f4ee663c199fb7f2a13c338479b07f6a568c",
"testharness"
],
"dom/nodes/mutationobservers.js": [
@@ -644617,11 +650541,11 @@
"support"
],
"dom/nodes/pre-insertion-checks.js": [
- "ab4d811d5b4c90e6932915d335f73936c2498527",
+ "705283fa235093eb4be4251b265729412679baf8",
"support"
],
"dom/nodes/prepend-on-Document.html": [
- "ccc56894d0aeb603a0f98575ac9542807c0e7200",
+ "1d6d43a46392650796cbcaae413f7ad630633a57",
"testharness"
],
"dom/nodes/productions.js": [
@@ -644665,7 +650589,7 @@
"testharness"
],
"dom/ranges/Range-cloneContents.html": [
- "bf75c920409724216f52684c5fd7bd08012e5799",
+ "73bce34572583b66098e6cdb7cd487ece8cb5481",
"testharness"
],
"dom/ranges/Range-cloneRange.html": [
@@ -644685,15 +650609,15 @@
"testharness"
],
"dom/ranges/Range-compareBoundaryPoints.html": [
- "48413ecd81ebadc3e28a14fe0862b84a3eae5e2f",
+ "9d150ae0ab895599b7aca34c53ee6eb99c71a3b1",
"testharness"
],
"dom/ranges/Range-comparePoint-2.html": [
- "356c8d351fb0a9c46ba1600613140a4d17a1d7db",
+ "30a6c57ad9df1404c19520afd227f9df96bd009e",
"testharness"
],
"dom/ranges/Range-comparePoint.html": [
- "95264796be81eff102769cf2e1137466dd7303e0",
+ "e18ac95c4ca42d5651c824efe5a7622cff7e4ae7",
"testharness"
],
"dom/ranges/Range-constructor.html": [
@@ -644709,11 +650633,11 @@
"testharness"
],
"dom/ranges/Range-extractContents.html": [
- "098837f0ce5e397fa3c41b66314f1f4ef9267c04",
+ "b43769ebc01044c2dd46499df74b91fa955090e3",
"testharness"
],
"dom/ranges/Range-insertNode.html": [
- "4c4073b21566dde6452cfad852857c739a877265",
+ "aca3a23ff5d58b891f4e6bcf295026470a9e2960",
"testharness"
],
"dom/ranges/Range-intersectsNode-2.html": [
@@ -644721,7 +650645,7 @@
"testharness"
],
"dom/ranges/Range-intersectsNode-binding.html": [
- "729388428ec31f38b0feece00a6f0ab0df8d346a",
+ "57d159b03035e5a7a98f012b9c846aa634c265d1",
"testharness"
],
"dom/ranges/Range-intersectsNode.html": [
@@ -644729,7 +650653,7 @@
"testharness"
],
"dom/ranges/Range-isPointInRange.html": [
- "fa87442b8ab3403273cd0fc7c0bd717084aac4f7",
+ "80db97e844cafc49d83aeca3f12134e9db0cd15f",
"testharness"
],
"dom/ranges/Range-mutations-appendChild.html": [
@@ -644777,11 +650701,11 @@
"support"
],
"dom/ranges/Range-selectNode.html": [
- "6311a84b9e6e899784c8e19310c7a48937ab8295",
+ "fe9b1f7860b1a297e1583e64242329d759d1dc41",
"testharness"
],
"dom/ranges/Range-set.html": [
- "5b43c04f418cce0cdd6e742a4ef127d354e0b7a6",
+ "694fc607497381cd042fbd9ec4cabc6811de6d32",
"testharness"
],
"dom/ranges/Range-stringifier.html": [
@@ -644789,7 +650713,7 @@
"testharness"
],
"dom/ranges/Range-surroundContents.html": [
- "e8cc11b24e7eedb436df6d740ed963b4c6df3faa",
+ "c4ff0509f8f4da0d56c190bc911852a77dbc973d",
"testharness"
],
"dom/ranges/Range-test-iframe.html": [
@@ -644797,7 +650721,7 @@
"support"
],
"dom/ranges/StaticRange-constructor.html": [
- "55a969415ce62e9c14d02e58d63b2827ae2aa6bc",
+ "6aae93f49b94afaf5eb87831f16367bdd5b3b41a",
"testharness"
],
"dom/svg-insert-crash.html": [
@@ -644813,15 +650737,15 @@
"testharness"
],
"dom/traversal/NodeIterator.html": [
- "3db5dec0707c82b0bf6c03f5486fe2257ad2498e",
+ "fb81676cc5bb1094ee52148f949316fa7285d3fe",
"testharness"
],
"dom/traversal/TreeWalker-acceptNode-filter.html": [
- "5d521f016f494905d8b0893ccb37eba137ebf8c3",
+ "8b5ff9a9bba020d07b3cc8abfc2dd650a3892e4d",
"testharness"
],
"dom/traversal/TreeWalker-basic.html": [
- "100cb10de3e91245647e848d83a311a4be9dcc43",
+ "4e14ac421ef5e998754f5b330c8f51367522766e",
"testharness"
],
"dom/traversal/TreeWalker-currentNode.html": [
@@ -644853,7 +650777,7 @@
"testharness"
],
"dom/traversal/TreeWalker.html": [
- "2570c9a200682ff3844d116308da13c4bdbe5fff",
+ "093c78144708842d842a71b9dbd1f6af98ce3901",
"testharness"
],
"dom/traversal/support/assert-node.js": [
@@ -644905,7 +650829,7 @@
"support"
],
"domparsing/DOMParser-parseFromString-html.html": [
- "2660d1d6c87ab6cddbafe92e1b63e93ea192fcd2",
+ "5e1dd1291decf4d76ad17a976520c4311eb08e7f",
"testharness"
],
"domparsing/DOMParser-parseFromString-xml-doctype.html": [
@@ -644933,7 +650857,7 @@
"testharness"
],
"domparsing/createContextualFragment.html": [
- "a885a5dcb5ab149098c9aa3ec826c27be2e2040e",
+ "170c0c464d90fb1918f684c867a1f9fcb3cb4fee",
"testharness"
],
"domparsing/idlharness.window.js": [
@@ -644941,7 +650865,7 @@
"testharness"
],
"domparsing/innerhtml-01.xhtml": [
- "432cfbf41f583292e087e817b126c5b18439f17b",
+ "08345ac58b8ed5ccaa03758b5d2481194f649c53",
"testharness"
],
"domparsing/innerhtml-03.xhtml": [
@@ -644953,7 +650877,7 @@
"testharness"
],
"domparsing/innerhtml-05.xhtml": [
- "da2d851595283010bcb0366dffc1b44b06b8e341",
+ "3afb6815231280325abac6a39026163fce6711b2",
"testharness"
],
"domparsing/innerhtml-06.html": [
@@ -644973,19 +650897,19 @@
"testharness"
],
"domparsing/insert_adjacent_html-xhtml.xhtml": [
- "eadf10e2c1fa94d83342deb2f96a61be875d020e",
+ "f02f425c47d4346e984dee82ee4a74fa35afa522",
"testharness"
],
"domparsing/insert_adjacent_html.html": [
- "dfe624f03ad79b2f2c66d2d5d3e8c5ad64395786",
+ "d8b38748198f4a66b4f16b9e415d8506371b24e3",
"testharness"
],
"domparsing/insert_adjacent_html.js": [
- "2451228d193e29666d4f1853f6ab2e73acf45396",
+ "2980037433d02f8a53b0b83ffdbe94f778adb03c",
"support"
],
"domparsing/outerhtml-01.html": [
- "2e8072e49f9724a0a838382670f9df3544a04c3e",
+ "d9a38b70458605d7753ac6e8fdf68917745202e0",
"testharness"
],
"domparsing/outerhtml-02.html": [
@@ -645005,11 +650929,11 @@
"testharness"
],
"domxpath/001.html": [
- "c26795a3115f8bb16174163a58b3a5a9dcc25183",
+ "4931417af301029c5bffb64093ab8ed382890753",
"testharness"
],
"domxpath/002.html": [
- "95b4afc4c109762a1eed1efa0b91917f68055335",
+ "c5c1fcc52923ab38729a3e9dc74ecb0a0d70ca9e",
"testharness"
],
"domxpath/META.yml": [
@@ -645029,7 +650953,7 @@
"testharness"
],
"domxpath/evaluator-constructor.html": [
- "8239d9c395e3c965c5ae2f23ed79156b7b85c01f",
+ "8350ceb4499d570c577f9aec674435b415b6672b",
"testharness"
],
"domxpath/fn-concat.html": [
@@ -645073,7 +650997,7 @@
"support"
],
"domxpath/lexical-structure.html": [
- "f93820b0e4176d8c96518268b6453024dd43f1df",
+ "05961ab226bbfd292946e0a1cb34dfd701a38c51",
"testharness"
],
"domxpath/node-sets.html": [
@@ -645493,7 +651417,7 @@
"testharness"
],
"editing/other/non-html-document.html": [
- "5c4786e2fc1645f0b0c2f47a68736e55920cb610",
+ "ffd2e6f59464c56fac6694856978192ed03a199c",
"testharness"
],
"editing/other/restoration.html": [
@@ -645649,51 +651573,51 @@
"support"
],
"element-timing/background-image-data-uri.html": [
- "3cac0f56db860cf5c6111a41a195ceb6b5d6c3a1",
+ "540668ae3c3b38fae1c8b09b4931ceaec9096338",
"testharness"
],
"element-timing/background-image-multiple-elements.html": [
- "44755d49f5c39fe8b5f96b73bcb4b7f3067dd2df",
+ "61a284a5df38dde63afc8216888d20f5bd308415",
"testharness"
],
"element-timing/background-image-stretched.html": [
- "0cd56333f50495f770145291df794877fb401a36",
+ "d5534c3257a477c0adffa01f707077d14a2f5b75",
"testharness"
],
"element-timing/buffer-before-onload.html": [
- "d675c75ba1a2e46bf964a87cbfe9547af9fb09fb",
+ "79dd64e29779675019a599f2e17b4e64ac8cd940",
"testharness"
],
"element-timing/buffered-flag.html": [
- "19c387d26b9c22ed10c352c57d5c771ea75363ba",
+ "1fca117879232e17dae2c889dcc245ac0be6f5f1",
"testharness"
],
"element-timing/cross-origin-element.sub.html": [
- "eef69a1d423a96cc8acd6b00a35e0c344ce7b7da",
+ "b5b06f30469b3ea82fee31beeb4657198f2e1af2",
"testharness"
],
"element-timing/cross-origin-iframe-element.sub.html": [
- "7296cfccfda6068313d6032c2625e2100e7f06fd",
+ "b183fe289aa96abb6fbd09953c00086f4fc4f3e4",
"testharness"
],
"element-timing/css-generated-text.html": [
- "1e3a812d1bc283e03ec232fd31b34253dbf62ddc",
+ "4b7dea73ca8d383ab328132d49147e7da171e5c8",
"testharness"
],
"element-timing/disconnect-image.html": [
- "fa42397557b9d91d5bf0c4e0cb488b32825d8fc0",
+ "9c2be0e45ac5457c1bbc73ba1f5ee3194d7e001e",
"testharness"
],
"element-timing/element-only-when-fully-active.html": [
- "5608685a34219d831dd6c57743e829967d3ed247",
+ "001430516dc83c5eb92517ab23b3d3490b8ce118",
"testharness"
],
"element-timing/first-letter-background.html": [
- "51e82d473e160ec3e6e133e0fcf67e8a371079a1",
+ "911f0d0f3a15a59521b1c9eb27adfec3520eb78b",
"testharness"
],
"element-timing/fixed-id-identifier.html": [
- "00d6d4dd94c466939dbbabb93bbe5ef9f29b86e1",
+ "ae8303f021d7ff1340a381a8fb3995170201c6cd",
"testharness"
],
"element-timing/idlharness.window.js": [
@@ -645701,55 +651625,55 @@
"testharness"
],
"element-timing/image-TAO.sub.html": [
- "0906b361394ae74cef3f8f2720844a7365ea5926",
+ "ee2b061790094f790464fc4b627d341a14020730",
"testharness"
],
"element-timing/image-carousel.html": [
- "dc5d8e8dde89b6e8e4c8865b4469c5f42e2330e7",
+ "ce6ac951e2494de3e6a1b7c7e79cf816effb9776",
"testharness"
],
"element-timing/image-clipped-svg.html": [
- "15c78a4cec5e0d78d91d67ed2d501324a1f9bab6",
+ "c8e4a67cea687b9e54ae905d75cb1ba0b33691c8",
"testharness"
],
"element-timing/image-data-uri.html": [
- "e698bcf1a5d7f55b60f55d5fc68e7c626f78474d",
+ "afe203ae1bf96297cd96b885377317832654c243",
"testharness"
],
"element-timing/image-not-added.html": [
- "e65d1814b0e7591f43fd26f6f2ac47587039983e",
+ "83a6cc6084438042e947e2cebbfe4aec07b61d32",
"testharness"
],
"element-timing/image-not-fully-visible.html": [
- "ece7770467d1cdedd1ea7a0f19775676df756f42",
+ "c51c24a965a6dbb09b497827c1817669ca9188e2",
"testharness"
],
"element-timing/image-rect-iframe.html": [
- "7441405d7475b4a300962dc21dd9b50d52250c38",
+ "a97ed5a850787aa11fb412fa99dd7b8cb732a41e",
"testharness"
],
"element-timing/image-src-change.html": [
- "89b8e1d3f74750d25ca997a6f258162c5d1f113e",
+ "e9e13742a6505dccd7248b0175b8b9d331b533b9",
"testharness"
],
"element-timing/image-with-css-scale.html": [
- "2dbbc0672485cb5e36ccec07f8ce9ccfbac012f0",
+ "9bd71086a75ec42103266588f287512623c4e471",
"testharness"
],
"element-timing/image-with-rotation.html": [
- "fcffe4acfa587fc1b23b5bc123b25e6595c7e284",
+ "64ff942f0cdacb74315044c990041653d30b42f7",
"testharness"
],
"element-timing/images-repeated-resource.html": [
- "e3fe9b90db111f7238bf242601eb1e19ced075de",
+ "6090e75f26ec0aa920735a9382ac654ab979caa3",
"testharness"
],
"element-timing/invisible-images.html": [
- "06d9bfd07a0f342dbacd00c23bc36b155335f531",
+ "8225996e255b8137af72901a963403d5063f75a1",
"testharness"
],
"element-timing/multiple-background-images.html": [
- "b29e66c04a70dffbc17f05f516d3d190159ec1c5",
+ "c2a32c3c8e6b7de76b3b91cb9ee360a828e7e7bc",
"testharness"
],
"element-timing/multiple-redirects-TAO.html": [
@@ -645757,55 +651681,55 @@
"testharness"
],
"element-timing/observe-background-image.html": [
- "afc6b5b38d74ca3da65a48737b1de4a534dfbb25",
+ "e02714b702108cbb58cfb33fffb6194bed05cd9d",
"testharness"
],
"element-timing/observe-child-element.html": [
- "33e92a9abddd0232ace837878fdd5c715a1bd0c4",
+ "4293e814eb91232c9768633c8684ca5c40a1d6cd",
"testharness"
],
"element-timing/observe-elementtiming.html": [
- "164cc4f580afd46ce8a2c5425db7f72841eba441",
+ "ee8960bd72883409055752be16ce2b3d2198535b",
"testharness"
],
"element-timing/observe-empty-attribute.html": [
- "c115a24cf6234b764c34a885c380e6ba5a6cca13",
+ "25d3492f73bee7c7c8373d14db86f36de95a9df0",
"testharness"
],
"element-timing/observe-multiple-images.html": [
- "6b5c5d9e3cb2099774b48c79821335f346606ec8",
+ "9a0657aa60fe73108ae81e0c2bddee320989822e",
"testharness"
],
"element-timing/observe-shadow-image.html": [
- "3e1960dde3bf1b091d42002c3c40a08a5a7fa6a2",
+ "1c12c5fe0310d8c21609ec17778e06063e162ba9",
"testharness"
],
"element-timing/observe-shadow-text.html": [
- "cc0cf0bd823991f4dacde90f09ee02ec79688baa",
+ "3167a1225c5216b69a99d57e8d58151a27ec3239",
"testharness"
],
"element-timing/observe-svg-image.html": [
- "8a0f61d6699d95cc8c450bd5d384405a53d9956b",
+ "83ca4f40aaeb2cdb81236ee9b973f9ea0aaf01fe",
"testharness"
],
"element-timing/observe-text.html": [
- "4508db3a5442caff4b2f388428d6410114c1fffc",
+ "a054b2617261fb33d1509a2639794cca86cf1729",
"testharness"
],
"element-timing/observe-video-poster.html": [
- "a6348377099f29f784ad5f993626960baac7806f",
+ "f64da173c6f2daa2a811075a75b997982d0af73d",
"testharness"
],
"element-timing/progressively-loaded-image.html": [
- "f156e1a32c4863aecf770c6f18e7bb88e8b694ee",
+ "0d59052cf3ac069adbe47780fefc8dc75000ac52",
"testharness"
],
"element-timing/rectangular-image.html": [
- "0c09911c502351d93f58e25b8957cc70f4a521ab",
+ "a97c549a9aad387c2beda7971fea985dcb35a4c1",
"testharness"
],
"element-timing/redirects-tao-star.html": [
- "a93fcd50ac373ea7ee2ea77199c5a91f4d59a4d1",
+ "f8e4d19bd07cf6faa872a5630855414bf229d111",
"testharness"
],
"element-timing/resources/TAOImage.py": [
@@ -645869,7 +651793,7 @@
"support"
],
"element-timing/retrievability.html": [
- "3ac04d8278512ae9b35913c215ffd4ace97a9f8b",
+ "5c6113bdc933f98d7cb753de904f7b07456daf40",
"testharness"
],
"element-timing/same-origin-redirects.html": [
@@ -645877,7 +651801,7 @@
"testharness"
],
"element-timing/scroll-to-text.html": [
- "ed332740323b076f160121dbd14390f246413c36",
+ "ca06e91c530a73f75220aecbfe9d7ffb2bee18b4",
"testharness"
],
"element-timing/supported-element-type.html": [
@@ -645885,11 +651809,11 @@
"testharness"
],
"element-timing/text-with-display-style.html": [
- "03939473be33d6ae868088dcab1cd273ad5b8759",
+ "faf644fd8d244a9df52eb96403719b0922fcd2dc",
"testharness"
],
"element-timing/toJSON.html": [
- "d988934708116f29f9289511559079544aba1ba6",
+ "ba13a0fa90797c0bc6fb104857d5ab86a0790b3d",
"testharness"
],
"encoding-detection/__dir__.headers": [
@@ -646249,11 +652173,11 @@
"testharness"
],
"encoding/api-invalid-label.any.js": [
- "38c0e9a55fd4800463040f9d3ed25f8a7254dddd",
+ "2dafb67c07d464487f4cfc1fa43d0331455a68fb",
"testharness"
],
"encoding/api-replacement-encodings.any.js": [
- "6d1e494ac3979bca558cf8ef7d7a7aa4dbc9649b",
+ "9031cf6638cad850cc26f92a0df829ba4079eb20",
"testharness"
],
"encoding/api-surrogates-utf8.any.js": [
@@ -646265,7 +652189,7 @@
"testharness"
],
"encoding/encodeInto.any.js": [
- "7ea0b80eeb458d48d0e00e0122ded86a0d26bb81",
+ "7e18c812499a52b14dacb772bfaf6c429ebc2da6",
"testharness"
],
"encoding/eof-shift_jis-ref.html": [
@@ -647409,7 +653333,7 @@
"testharness"
],
"encoding/streams/decode-attributes.any.js": [
- "21b70201271a206e7652bcc93ca1de927a318d0f",
+ "3fe442bf133c747d5b923d207b8f1c3a93ee5507",
"testharness"
],
"encoding/streams/decode-bad-chunks.any.js": [
@@ -647469,15 +653393,15 @@
"testharness"
],
"encoding/textdecoder-fatal-single-byte.any.js": [
- "d3e9ae9c9a7774ee9ab11f3c6275f2c6a0275c8a",
+ "87e3707be4bfee91e0b4a0cb62edc9f33db418c6",
"testharness"
],
"encoding/textdecoder-fatal-streaming.any.js": [
- "e4fa64dbd7c43347977e25f25679149844118e5b",
+ "0d58b2e1d7d8a1e90353b3e42e1da58bf7345c8f",
"testharness"
],
"encoding/textdecoder-fatal.any.js": [
- "ba8aa5d06c3e2dfea532c70f30bb0841f6966a72",
+ "5ee4b65ebe3dfd3a515aae3ae904709ae084a632",
"testharness"
],
"encoding/textdecoder-ignorebom.any.js": [
@@ -647493,7 +653417,7 @@
"testharness"
],
"encoding/textdecoder-utf16-surrogates.any.js": [
- "3b8418703da77d2052ebaa5104d8bfd22f131c81",
+ "b08ea56cee38a29ba62cecb19fb04561fbc80175",
"testharness"
],
"encoding/textencoder-constructor-non-utf.any.js": [
@@ -648317,7 +654241,7 @@
"manual"
],
"entries-api/filesystemfileentry-file-manual.html": [
- "d6c62f30a3c0af7f802bae38eb5c1c7787ed2f9b",
+ "7ac29c0b13c41c69288c3f433725f44028d006f0",
"manual"
],
"entries-api/filesystemfileentry-getParent-manual.html": [
@@ -648521,7 +654445,7 @@
"testharness"
],
"eventsource/eventsource-constructor-url-bogus.any.js": [
- "eb92837a71d38713c161171534f2539659995ebb",
+ "53c3205e8a55d7d9c9c70806b9fd2c289841ebe5",
"testharness"
],
"eventsource/eventsource-constructor-url-multi-window.htm": [
@@ -649193,7 +655117,7 @@
"testharness"
],
"feature-policy/payment-disabled-by-feature-policy.https.sub.html": [
- "98e434a2a5c5b87a06d07cbe735279bd7e8b1c61",
+ "b82eb4f1ef541fb494b9061edf014f957c8117f1",
"testharness"
],
"feature-policy/payment-disabled-by-feature-policy.https.sub.html.headers": [
@@ -649265,7 +655189,7 @@
"support"
],
"feature-policy/reporting/document-write-reporting.html": [
- "e67bff0773e03951045276072150cb12e65a3860",
+ "50af640e08e9f44bcc0f45590a172f11321dd9cd",
"testharness"
],
"feature-policy/reporting/document-write-reporting.html.headers": [
@@ -649313,7 +655237,7 @@
"support"
],
"feature-policy/reporting/generic-sensor-reporting.https.html": [
- "4ccfcbf0d214d3abc253d45c3e33985c4f0daef9",
+ "9a5d404d34525fe5786d9b09d8fbc4eca287df2d",
"testharness"
],
"feature-policy/reporting/generic-sensor-reporting.https.html.headers": [
@@ -649397,7 +655321,7 @@
"support"
],
"feature-policy/reporting/payment-reporting.https.html": [
- "80d0b0f09069e1027777afbf2ee17ff877f4dd55",
+ "417dfed7dce289a636b6308378d1d7eac0c843e1",
"testharness"
],
"feature-policy/reporting/payment-reporting.https.html.headers": [
@@ -649445,7 +655369,7 @@
"support"
],
"feature-policy/reporting/sync-xhr-reporting.html": [
- "9e526b904d4b825771b6b318677df0aded67637b",
+ "dbdcc126ec44fecc712b18f874f35aef9d9d8369",
"testharness"
],
"feature-policy/reporting/sync-xhr-reporting.html.headers": [
@@ -649865,15 +655789,15 @@
"testharness"
],
"fetch/api/headers/header-values-normalize.html": [
- "64be98af934eb0d1656cfb53376d7cbf4c0eff6a",
+ "079b641721a2c6a478fec478c70b509ce6a2517a",
"testharness"
],
"fetch/api/headers/header-values.html": [
- "6dfe0d3a78988eef77690f04b3e36e3076e33a7d",
+ "491288eff7c7d4ec5bf8cd37819f75106a457aa1",
"testharness"
],
"fetch/api/headers/headers-basic.html": [
- "1d3f4d462b89f63b325594973db90074c33af3de",
+ "254ef051c1227cc676dafbc9f1a3d91c98a89b01",
"testharness"
],
"fetch/api/headers/headers-casing.html": [
@@ -649885,7 +655809,7 @@
"testharness"
],
"fetch/api/headers/headers-errors.html": [
- "194ff32f1559f2dd9b5903eb3738c17c061c7172",
+ "7f9916d87fe2ac125953eb25f0e278aa31073b3e",
"testharness"
],
"fetch/api/headers/headers-no-cors.window.js": [
@@ -649897,7 +655821,7 @@
"testharness"
],
"fetch/api/headers/headers-record.html": [
- "34acc3b1c557ce7bc1841ad3d785fb1f732f299f",
+ "0a217c3ddb287fde30f27f75607f52c1fb2cb3ed",
"testharness"
],
"fetch/api/headers/headers-structure.html": [
@@ -650209,7 +656133,7 @@
"testharness"
],
"fetch/api/request/request-cache.js": [
- "009d4408a56f6073474ecd807f8ce4eb70798671",
+ "f2fbecf496929194a7a30ef9d59ad5ec9189c5db",
"support"
],
"fetch/api/request/request-clone.sub.html": [
@@ -650225,11 +656149,11 @@
"testharness"
],
"fetch/api/request/request-disturbed.html": [
- "d247a7ff2db3b82ffe2fd7c98a357c50658a53dc",
+ "27614e7e7428d4375de5000b3662668d35d7e2a6",
"testharness"
],
"fetch/api/request/request-error.html": [
- "70be9fb0e7c014a7e8538b7c8958081bdb902168",
+ "622ba3f4c28c6d552f205b3492026a9e731bd4af",
"testharness"
],
"fetch/api/request/request-error.js": [
@@ -650245,7 +656169,7 @@
"testharness"
],
"fetch/api/request/request-init-002.html": [
- "221b415a3c182fba064a13b631c1af887461ea33",
+ "14be27742208beffe7f7123771812de073cff1d1",
"testharness"
],
"fetch/api/request/request-init-003.sub.html": [
@@ -650253,7 +656177,7 @@
"testharness"
],
"fetch/api/request/request-init-stream.any.js": [
- "df5fb26a0d8fc0d77ea967102be33035b780cea2",
+ "e7ffa729d15b841e307d49cbdc7994ce78b2f059",
"testharness"
],
"fetch/api/request/request-keepalive-quota.html": [
@@ -650261,7 +656185,7 @@
"testharness"
],
"fetch/api/request/request-keepalive.html": [
- "602fabc4db347139980d21f955cb20e59826739f",
+ "e165422166e9531b689208271f4c2691e1415cf7",
"testharness"
],
"fetch/api/request/request-reset-attributes.https.html": [
@@ -650413,7 +656337,7 @@
"testharness"
],
"fetch/api/response/response-clone.html": [
- "f586c81bac7ca67a606cfe1c25b9ef7aa077d271",
+ "f5ebd7940e1eab290acac9e118c827e9b210ad71",
"testharness"
],
"fetch/api/response/response-consume-empty.html": [
@@ -650433,11 +656357,11 @@
"testharness"
],
"fetch/api/response/response-error.html": [
- "1e68f6d01c6c763fa46427e31c6f1229ed000ccc",
+ "7cbb138345964f548add67a9b290657de3aecebd",
"testharness"
],
"fetch/api/response/response-from-stream.any.js": [
- "93b29b42867f47f4472c6820ff9d4a1a343e84cf",
+ "ea5192bfb10dcf316ef953c809b89a7682de92a3",
"testharness"
],
"fetch/api/response/response-init-001.html": [
@@ -650453,7 +656377,7 @@
"testharness"
],
"fetch/api/response/response-static-redirect.html": [
- "a7492229fd06b6952347e4b61639b402106cb97b",
+ "f647b6debeb8930f98868b10652cd8e2ca527385",
"testharness"
],
"fetch/api/response/response-stream-disturbed-1.html": [
@@ -650473,7 +656397,7 @@
"testharness"
],
"fetch/api/response/response-stream-disturbed-5.html": [
- "546b7b88801e8e0ff5d4ef3015d938a3803be215",
+ "830a41bc8096205e7dae3c8b56cad29378a5340f",
"testharness"
],
"fetch/api/response/response-stream-disturbed-6.html": [
@@ -650845,7 +656769,7 @@
"testharness"
],
"fetch/http-cache/http-cache.js": [
- "ce49ad853631c3d2f88c5d4dc0fe807cbfa9e605",
+ "2ab51165f359b7fd2af64499ac435bd4774d4791",
"support"
],
"fetch/http-cache/invalidate.html": [
@@ -650885,7 +656809,7 @@
"testharness"
],
"fetch/images/canvas-remote-read-remote-image-redirect.html": [
- "32a387288af1db934458bcc77512c388ec2ab168",
+ "4a887f3d331cf27ab020c2f5d4a1fa9516a91a8a",
"testharness"
],
"fetch/metadata/META.yml": [
@@ -652417,7 +658341,7 @@
"manual"
],
"fullscreen/rendering/fullscreen-pseudo-class-support.html": [
- "ccd3f0e22be91def3e2117a567c4245a7fea5720",
+ "fb2ff318b9ed79b5b260b4975caffa4a0fe574e4",
"testharness"
],
"fullscreen/rendering/fullscreen-root-block-scroll-manual.html": [
@@ -652473,7 +658397,7 @@
"testharness"
],
"generic-sensor/generic-sensor-feature-policy-test.sub.js": [
- "fabd4a7ded3c5590516e55354c1443635aa02ba6",
+ "2a1fba9f83c39f60beeba12d5e6c086d550dc4da",
"support"
],
"generic-sensor/generic-sensor-iframe-tests.sub.js": [
@@ -652481,7 +658405,7 @@
"support"
],
"generic-sensor/generic-sensor-tests.js": [
- "f0d37fb9f24b68c7e155a7613cca6195208dedf4",
+ "0cb3cb224a187daee110c0ef044da786f480bc3c",
"support"
],
"generic-sensor/idlharness.https.window.js": [
@@ -652513,7 +658437,7 @@
"testharness"
],
"geolocation-API/getCurrentPosition_TypeError.html": [
- "a2e578469793d7e86d1cc1817f2ab548bc6e91ad",
+ "6726e8ab6c7d892c4e93cf212c94f6622f89c116",
"testharness"
],
"geolocation-API/getCurrentPosition_permission-manual.html": [
@@ -652549,7 +658473,7 @@
"support"
],
"geolocation-API/watchPosition_TypeError.html": [
- "9d7efd5e7b92c0e456f8f0a313d59ccdbc1dcd54",
+ "dd8287f5713ea7ce0a13a5096c45d38f640553a0",
"testharness"
],
"geolocation-API/watchPosition_permission-manual.html": [
@@ -653853,11 +659777,11 @@
"testharness"
],
"html/browsers/history/the-history-interface/001.html": [
- "ac8c8000777474df1712357f4a7a5d78e2dd6638",
+ "da93e0dafc7a749a14408977cb38a3a334ea2feb",
"testharness"
],
"html/browsers/history/the-history-interface/002.html": [
- "431f6a58634f9d07dabe83976da1a1bc033a87a5",
+ "dba28b0471cbfa832051078583c15df92d3fe331",
"testharness"
],
"html/browsers/history/the-history-interface/004.html": [
@@ -654049,7 +659973,7 @@
"testharness"
],
"html/browsers/history/the-history-interface/history_properties_only_fully_active.html": [
- "0404a6b2e028bc8497b80c3ec7b510ed59740080",
+ "bc09507f0ad33000c0ee0c09067495bacf1d1582",
"testharness"
],
"html/browsers/history/the-history-interface/history_pushstate.html": [
@@ -654057,7 +659981,7 @@
"testharness"
],
"html/browsers/history/the-history-interface/history_pushstate_err.html": [
- "82afc04f2dd0d46d450f4eaec42af51dcb1e8341",
+ "6fa0a8589d88c07e22bb0cbf5844d57f6f78b020",
"testharness"
],
"html/browsers/history/the-history-interface/history_pushstate_nooptionalparam.html": [
@@ -654073,7 +659997,7 @@
"testharness"
],
"html/browsers/history/the-history-interface/history_replacestate_err.html": [
- "3060cf1f128b321b00b51e6fb133cd68e745ea12",
+ "15d2181820cbc28703e196844763771ccb895498",
"testharness"
],
"html/browsers/history/the-history-interface/history_replacestate_nooptionalparam.html": [
@@ -654277,7 +660201,7 @@
"testharness"
],
"html/browsers/history/the-location-interface/location-protocol-setter.html": [
- "ef92f7ab0f889b88b48ea9ddba54e4fbeb254943",
+ "1afef4628d43829fa617ddefed5ebfcb9355ef4d",
"testharness"
],
"html/browsers/history/the-location-interface/location-prototype-setting-cross-origin-domain.sub.html": [
@@ -654293,7 +660217,7 @@
"testharness"
],
"html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html": [
- "570dfccd40ff306466ee0207586c8d5416e92c08",
+ "8ec7585daa1475400b18d2b96e7aae3861556cab",
"testharness"
],
"html/browsers/history/the-location-interface/location-prototype-setting-same-origin.html": [
@@ -654317,7 +660241,7 @@
"testharness"
],
"html/browsers/history/the-location-interface/location_assign.html": [
- "7e18804c283adf0055124602d2c78130d803a351",
+ "55f26d5660a8ced14ab995f017ba88e0fa43b3fb",
"testharness"
],
"html/browsers/history/the-location-interface/location_assign_about_blank-1.html": [
@@ -654613,7 +660537,7 @@
"manual"
],
"html/browsers/offline/application-cache-api/api_swapcache_error.https.html": [
- "02e7b3cd8c00b70dfc14cde57a2e045e58153f77",
+ "4e069d73f7f54fcc7a1abb37127d797b600c7921",
"testharness"
],
"html/browsers/offline/application-cache-api/api_update.https.html": [
@@ -654621,7 +660545,7 @@
"testharness"
],
"html/browsers/offline/application-cache-api/api_update_error.https.html": [
- "469baea8bad797807f8733185918d09b2f4cf7f5",
+ "46386939c5c84804b2d2eae307ebbb495ae1b7e1",
"testharness"
],
"html/browsers/offline/application-cache-api/secure_context.html": [
@@ -654753,7 +660677,7 @@
"manual"
],
"html/browsers/origin/cross-origin-objects/cross-origin-due-to-document-domain-only.html": [
- "919a05ed2a2a5c40f56ce46e1597e8bd763b0921",
+ "425374faec02a6ec5f8b64f7e3d109e0bc2e0da3",
"testharness"
],
"html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html": [
@@ -654761,7 +660685,7 @@
"testharness"
],
"html/browsers/origin/cross-origin-objects/cross-origin-objects.html": [
- "2c92d5e51ad8078cec4f6e5e76035a52df93a245",
+ "46fc568a0eeffc5373a5ad33b5f3be0bc753d028",
"testharness"
],
"html/browsers/origin/cross-origin-objects/frame-with-then.html": [
@@ -654781,7 +660705,7 @@
"support"
],
"html/browsers/origin/origin-of-data-document.html": [
- "d6b6d533a2219927bda6c08969b9b11d01cbf345",
+ "448f47fa244c1134549150367a0991f79c13da86",
"testharness"
],
"html/browsers/origin/relaxing-the-same-origin-restriction/document_domain.html": [
@@ -654797,7 +660721,7 @@
"testharness"
],
"html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html": [
- "a55d85dfdf293adc0b7160ed1bce213967d9822e",
+ "77f438c0166bcb570050800d3227bd7dcc691545",
"testharness"
],
"html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html": [
@@ -654805,7 +660729,7 @@
"testharness"
],
"html/browsers/origin/relaxing-the-same-origin-restriction/sandboxed-document_domain.html": [
- "824795f80b13c9a2860b8a1830f67393d47a30c2",
+ "ae1a0ccd5601c07ed32a844f4fa93aafccdc1a11",
"testharness"
],
"html/browsers/origin/relaxing-the-same-origin-restriction/sandboxed-document_domain.html.headers": [
@@ -654845,11 +660769,11 @@
"testharness"
],
"html/browsers/sandboxing/sandbox-disallow-same-origin.html": [
- "d1bd00747f90a5b3c68c3503e6ffb03ed3c172a3",
+ "0dae0137ac97de7fa2125a7081effd09e730ddc7",
"testharness"
],
"html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html": [
- "0bb98c55382f2b6481eb5d1b8b2585a55bb128b3",
+ "3c8c0b346a675ef2469a9ee95589a2da1ecf88dc",
"testharness"
],
"html/browsers/sandboxing/sandbox-disallow-scripts.html": [
@@ -655217,7 +661141,7 @@
"testharness"
],
"html/browsers/the-window-object/security-window/window-security.https.html": [
- "1fb0ed7c1e62da55b890c6434bee6e46637e0209",
+ "ad8f177f37d2ad97d4923dd73855e03f08b587b6",
"testharness"
],
"html/browsers/the-window-object/self-et-al.window.js": [
@@ -655249,11 +661173,11 @@
"testharness"
],
"html/browsers/the-window-object/window-indexed-properties-strict.html": [
- "e059b12261653b18dedc5591f22fa0b275d32892",
+ "faf214d12d527ce14716ec7ca0cf73dd4762bb85",
"testharness"
],
"html/browsers/the-window-object/window-indexed-properties.html": [
- "49247179738f68be143e0dc6e6c332f117945029",
+ "0f896cb636e973af0b044bffa880f400107ea008",
"testharness"
],
"html/browsers/the-window-object/window-open-defaults.window.js": [
@@ -655289,7 +661213,7 @@
"testharness"
],
"html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html": [
- "83d11a20e0932852edee187b89e5f608e3ee1355",
+ "fb18822ac5b0067bbb870a1a5d5fd8ed7875ba49",
"testharness"
],
"html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin.html": [
@@ -655505,7 +661429,7 @@
"support"
],
"html/browsers/windows/document-domain-nested-navigate.window.js": [
- "b639c819267477ec6546c834c452856b850af70e",
+ "f51eed5ca941f591536c70187e4201c464f02ab3",
"testharness"
],
"html/browsers/windows/document-domain-nested-set.window.js": [
@@ -655529,7 +661453,7 @@
"testharness"
],
"html/browsers/windows/nested-browsing-contexts/frameElement.sub.html": [
- "2f5b1c466f8bdaf2555e548f4140abdcc18d79bc",
+ "7ea118208110470b47b6175329ceec473f4c1208",
"testharness"
],
"html/browsers/windows/nested-browsing-contexts/name-attribute.window.js": [
@@ -655713,7 +661637,7 @@
"support"
],
"html/cross-origin-embedder-policy/require-corp-about-blank.html": [
- "b94cb57b95f8c290a8d3ed32b4f6b55d4f629159",
+ "5c51df71ae5b6a84f5c68c90a4012729a9e9c380",
"testharness"
],
"html/cross-origin-embedder-policy/require-corp-about-blank.html.headers": [
@@ -655721,7 +661645,7 @@
"support"
],
"html/cross-origin-embedder-policy/require-corp-about-srcdoc.html": [
- "a832db1cebbf106b215a8f7c8900bf5f1d3287e3",
+ "4d1c1f864644dad1382092f3bdab3097d412d4cc",
"testharness"
],
"html/cross-origin-embedder-policy/require-corp-about-srcdoc.html.headers": [
@@ -656149,7 +662073,7 @@
"support"
],
"html/dom/documents/dom-tree-accessors/Document.body.html": [
- "f42125029568476b4076603a1b982a4989b65d35",
+ "77de1d93b5e72343e8b56a2f7ff3503e7f4b846b",
"testharness"
],
"html/dom/documents/dom-tree-accessors/Document.currentScript.html": [
@@ -656457,7 +662381,7 @@
"testharness"
],
"html/dom/elements/global-attributes/dataset-set.html": [
- "dbce5de309a1d0b4c70305b13540851a67c0ce91",
+ "a5bc177f504f9aa5acbad5e67a31a9145c486dd7",
"testharness"
],
"html/dom/elements/global-attributes/dataset.html": [
@@ -657637,7 +663561,7 @@
"testharness"
],
"html/editing/dnd/datastore/datatransfer-types.html": [
- "d0842ae75c4f2c608b0cc25c06484027c801b75e",
+ "3da94d78c64827b737b3784dd6509c9f9a49c717",
"testharness"
],
"html/editing/dnd/datastore/helper-drop-box-here.xhtml": [
@@ -660789,7 +666713,7 @@
"support"
],
"html/editing/dnd/synthetic/001.html": [
- "ddad72095b24536a031028c13e7f5a629009e49f",
+ "f90c345740df3f9c4366d01a3d47e323b30069fc",
"testharness"
],
"html/editing/dnd/synthetic/005-manual.html": [
@@ -660801,11 +666725,11 @@
"manual"
],
"html/editing/dnd/target-origin/001-manual.html": [
- "4622c76a92f1dd4721a8846b4b9564d570f41fc1",
+ "ff8572e937bff4fd2761d801ef3bd648d395ba12",
"manual"
],
"html/editing/dnd/target-origin/002-manual.html": [
- "d1615090660e328544d782f82d438c50564c6a9b",
+ "d7e6c83a2ad17a3f6068ba76fe8f3dadd8f0c7df",
"manual"
],
"html/editing/dnd/target-origin/003-manual.html": [
@@ -661125,7 +667049,7 @@
"testharness"
],
"html/editing/editing-0/contenteditable/contentEditable-invalidvalue.html": [
- "85b71043e16579b6dc7d2c430790138195a1e89e",
+ "b8c17c3a41677fb137919dda1488137a24470016",
"testharness"
],
"html/editing/editing-0/contenteditable/contentEditable-slotted-inherit.html": [
@@ -661141,11 +667065,11 @@
"support"
],
"html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-svg.svg": [
- "6fb8a054481386dbaa160f0cab575b0bff0ccdb2",
+ "fd2fde0fbe1013c2e4d45a166dc57e2eabbdfb82",
"testharness"
],
"html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-xml.xml": [
- "ea02ecdfd39e974877ddc4bd85ac0704ef560304",
+ "f26cd56453b732954382a975bf2ff22b713cb193",
"testharness"
],
"html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode.html": [
@@ -661269,23 +667193,23 @@
"support"
],
"html/infrastructure/common-dom-interfaces/collections/domstringlist.html": [
- "ab5a5c025a35d8e706f3ea7cfb553c72cd1a0206",
+ "33f2ed6feff68d2a6ca938bf8a235f68f885cc20",
"testharness"
],
"html/infrastructure/common-dom-interfaces/collections/historical.html": [
- "ef8345aa72420c43a4e23ad6306d59b41fa0ffa9",
+ "91142c864e94f20c3ca0d5162135a773d409f60f",
"testharness"
],
"html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html": [
- "095931ad785553a9b64d79d96eacebcb021e3171",
+ "14faa2128ed0bd638585955994f6b1fb48cb6a4f",
"testharness"
],
"html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html": [
- "aa9f0a5d5e0c210156a50253cf66a8777674867e",
+ "5591e190b397d57b31798db6ba56f700dfe6a0ff",
"testharness"
],
"html/infrastructure/common-dom-interfaces/collections/htmloptionscollection.html": [
- "d39cc460e5b1e30919265921d44bda8b3d9b21ec",
+ "130716a9cc70226e89962a2dcc6006b297507464",
"testharness"
],
"html/infrastructure/common-dom-interfaces/collections/radionodelist.html": [
@@ -661357,11 +667281,11 @@
"support"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-coop-coep.https.any.js": [
- "a755865911d7bd5eea2c7eeca85705602234e571",
+ "35098892020bf58bda9f1821d2ba5b2570eb5d54",
"testharness"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.https.html": [
- "b39e37fd4966440dc01c2efab42ea99f30574f68",
+ "dfa57fa2009071fc00b92d6eb89363833c50cf3c",
"testharness"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.https.html.headers": [
@@ -661533,7 +667457,7 @@
"support"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-history.https.html": [
- "49d341f47f9bfebe37a78876ae1367766793c5c2",
+ "28859f17cb99bde2e50b1e85b48ae9ee35218881",
"testharness"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-history.https.html.headers": [
@@ -661541,11 +667465,11 @@
"support"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-idb.any.js": [
- "4eb25eb85467fd3e9b9a41b251a8df825608838b",
+ "0202ec39ac6fe70fa13e83c3562979cb005c603c",
"testharness"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-notifications-api.any.js": [
- "2c3fb7be034b0c315c4add66790bcfed30bcecc7",
+ "ce643e8a7cba5be412b367f5bc5f1bc5592df48f",
"testharness"
],
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-success.https.sub.html": [
@@ -661633,11 +667557,11 @@
"testharness"
],
"html/infrastructure/safe-passing-of-structured-data/structuredclone_0.html": [
- "fbb48db03838addca28181629070d57b1ea81f24",
+ "c8a6d38393c0217447992d47c994942e873e70ad",
"testharness"
],
"html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js": [
- "bb1c083c41df5eb896e233cbab64175c6c9b1bdb",
+ "b3ecd86b40a7d92d7a69f629f7e238209cde9bec",
"testharness"
],
"html/infrastructure/terminology/plugins/sample.txt": [
@@ -663805,11 +669729,11 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/historical.html": [
- "efdd90f7b152ac114b1173c4c7d8aac1cfcecc6a",
+ "d98a74df4e158d65672520a4eedb6929c76442ea",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html": [
- "2a76b0a66bab3c268d3dd9d5b7b6cabab353e8a0",
+ "0e1a48f78a96884bd64ed7a976566081b1dcfd99",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html": [
@@ -663885,15 +669809,15 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html": [
- "a05c0b17442b691b18262b76eb0f6f10238f69c2",
+ "09043458cc52d91a882147cb089ec86320b0628c",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html": [
- "c066f60399b7ac1b10c6a5790ef2b62064be0134",
+ "8ee9adb1c0d30a89cc3d4830ad9d7a73ca85bcd0",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime.html": [
- "b99a12e05aae6bce84b89e498fe93651f1d40198",
+ "a7c10a3d4dfd7c601d0e056d2ee89f88cf59cb7e",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/id.html": [
@@ -663913,7 +669837,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime.html": [
- "232a7f23b3e667b6ae389fe8f9e8a0ea5ad6aeb6",
+ "7fba1df415aa38b5a72829530cc282b3fd8f84c7",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/track.html": [
@@ -663925,7 +669849,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter.html": [
- "d9cd871720eb4a02eb973cdd5200c05d3966acd5",
+ "8056d245433fe4f55eef1babec5d3e97410dc92b",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/length.html": [
@@ -663937,7 +669861,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackList/getter.html": [
- "8c5fb3759400b6415d4ea5a2f99c9eb26589927e",
+ "9baa4594194fedb2d38ae2c4017cd7244d4bf9fa",
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TextTrackList/length.html": [
@@ -663957,7 +669881,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/interfaces/TrackEvent/createEvent.html": [
- "9bf763f1fabd55da0bb63322900247cb6daad11f",
+ "1d7eb540c3c8ce00179ff0cf4eb5c4655dded27b",
"testharness"
],
"html/semantics/embedded-content/media-elements/loading-the-media-resource/autoplay-overrides-preload.html": [
@@ -664781,7 +670705,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html": [
- "773fa4e8fd5f16496ecbac0af399196208534cbf",
+ "e73896400128ec5724c45efde9e270c1a7b70c8b",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html": [
@@ -664789,7 +670713,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html": [
- "4503a06bb2cd25c0fc86e1930c410207488ee969",
+ "d058bf2987886ef609a54e5d973a1883a8c60769",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html": [
@@ -664817,7 +670741,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html": [
- "cb28f6591ce9614d6a1aa3e0ea7b753d6cb713df",
+ "26a6b84f8a251676e4bcd9a927f849bd16bb8a07",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-duration.html": [
@@ -665197,7 +671121,7 @@
"manual"
],
"html/semantics/embedded-content/media-elements/volume_nonfinite.html": [
- "6e90a2ebcdb54abfd3655d565b6ea296ae493530",
+ "fce50c2e20eaf5968dd4b36193130d7d3e04a854",
"testharness"
],
"html/semantics/embedded-content/resources/should-load.html": [
@@ -665245,7 +671169,7 @@
"reftest"
],
"html/semantics/embedded-content/the-audio-element/audio_constructor.html": [
- "57f91572bc5a3029919a534863e70c206bb0083d",
+ "c5b5b80ac1323794e5419264888f7d0af945ba71",
"testharness"
],
"html/semantics/embedded-content/the-audio-element/audio_content-ref.htm": [
@@ -665301,7 +671225,7 @@
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html": [
- "f1ef93b93acac6ab975d5363ee216308f90e9476",
+ "fcda9043fc78ffe3a9485d84ce466b6aa5e5566b",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/context.casesensitive.html": [
@@ -665341,11 +671265,11 @@
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/historical.html": [
- "e485e10d991ca123236598fc690cbf4243908d18",
+ "33044ffb1bd074960a29902971c834cb30a1cb11",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/imagedata.html": [
- "61331956e49659b884884201e870f87086d5cf6a",
+ "e124f8ff6ea869d23a7c28418f8435a3d21e2677",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/initial.colour.html": [
@@ -665405,35 +671329,35 @@
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html": [
- "2b237544c1913d86e33faec3e18201dd8bce36b1",
+ "66873a551f57df4c0a6da92e2de1262b44a99581",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html": [
- "9daa23bcc205abbc179dcff2332dad1dc3681518",
+ "7e640becc1fc9aca5a6b87f7e91b6c8486955684",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html": [
- "4cccb91e8eaa6d0310d61ed67e934e79b4992d2c",
+ "f598bbe19d6c946ea51c23c78b4a81f1535fc83e",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html": [
- "349a52810e50eb0821f304f5759448949af8f281",
+ "0b7ca3265c1b7c9afd81b84d67c22f2e6b44f0ba",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html": [
- "70a154fe9c839ef25d20e32ed30b429ad2be3c0c",
+ "8261a29c5415abd08b021a54e7be99d7bc37e218",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html": [
- "4d0be3f84ec2ac18f6ab07dff9916a6572e0d5a9",
+ "59cd0e0c03d21dd1d41d5ed14eeecd76100f5911",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html": [
- "8ec69ae14342947246fd31586e9685a97f4f08f3",
+ "b987590fc9382e003393f18d5678e2acf73dbd49",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html": [
- "bb814e12c8f06088e56882c87ae32a234953457f",
+ "36237a2945caba39c7a1a22a938275c87c38e329",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.cross.html": [
@@ -665453,39 +671377,39 @@
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html": [
- "49d4d70beedd63dc86e140aeecd3fefd7ac383b2",
+ "9461ad24a6ac18a851a80ebc6dff377a0d49fd5c",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html": [
- "7d526ec3949910a9bab7ed3b44bd2d2327c59e18",
+ "82838602b9eea4ff4979d358121421e4d45f4f42",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html": [
- "70c5f194ff63bedea313fe924f8c2f80849d9bb5",
+ "3d50bac379c081688187f1685c76a19fdca4dd69",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html": [
- "28910edc431d8558d24882caf521bc9d19cbaaf2",
+ "f379d3ad76f9aca9ed3efd26aabf3c88a1c766ee",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html": [
- "9ed99a7436af492f755de53c78d688a7bc2f1463",
+ "a139f2a8cff359edd28c39ff1958f70afc80a6ff",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html": [
- "77749df2bda0e18c4ccf44b8a2197484b6812789",
+ "25c3ee180c1dabbb2bfbb5718354182d52a9aa6f",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html": [
- "c57a93038b6fb2c3408adc8a46b3461b90a229fc",
+ "fd359d1f9a4bb3ef38e15fa1902a453b8d9f202c",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.reset.cross.html": [
- "babde24c16905cfb59baf31e53f76c495343abf7",
+ "64d25a3c3c1cd6059a7597c41f666907af7c8558",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html": [
- "b895f34621162acdd4f1b002b2178d68b7891e82",
+ "9feeee4943f4a0862f4cdbe9c75fb39e5c37d6e1",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/size.attributes.default.html": [
@@ -665965,7 +671889,7 @@
"support"
],
"html/semantics/embedded-content/the-embed-element/historical.html": [
- "168a8468e06edf8334619949822d29ee7cb779f5",
+ "9df7280bb6065eaa188c637400fdd8ef609345b7",
"testharness"
],
"html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin.html": [
@@ -666833,7 +672757,7 @@
"testharness"
],
"html/semantics/embedded-content/the-object-element/historical.html": [
- "2f293d372ec19082add2797e9bb43fef57fbb12d",
+ "c7a577a9d417fdc063ce0aeab21a06ca5568fc6e",
"testharness"
],
"html/semantics/embedded-content/the-object-element/object-attributes.html": [
@@ -667101,11 +673025,11 @@
"testharness"
],
"html/semantics/forms/form-submission-0/FormDataEvent.window.js": [
- "145b5dd3727f995fba56407f07e158d1fb80ba5a",
+ "830d536a66311a32085ccdb4b9b60c4b3b824d1a",
"testharness"
],
"html/semantics/forms/form-submission-0/SubmitEvent.window.js": [
- "ca722315d815a0e40566f8dee63f5b1c389670b2",
+ "5f98fe05155fa4bb1bf14413b14f1146fcc2cad1",
"testharness"
],
"html/semantics/forms/form-submission-0/constructing-form-data-set.html": [
@@ -667261,7 +673185,7 @@
"testharness"
],
"html/semantics/forms/textfieldselection/selection-not-application.html": [
- "d205ee838a819fc87fa09f616064e77e1ec36571",
+ "a7d7f1c5518551436b6b4845d0ce205cf3721cfc",
"testharness"
],
"html/semantics/forms/textfieldselection/selection-start-end-extra.html": [
@@ -667289,7 +673213,7 @@
"testharness"
],
"html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html": [
- "66b5e30a04e7734c211ee2df391d44b678e8ecf1",
+ "a5918201b314dc9198dc6ae0d46b1f065778fda5",
"testharness"
],
"html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html": [
@@ -667553,7 +673477,7 @@
"testharness"
],
"html/semantics/forms/the-form-element/form-indexed-element.html": [
- "66f00e7615d59d1649b9793f3d475bc7ce39b810",
+ "5ea96d3d1b21ac6d143b01ec325261a5255c1e8a",
"testharness"
],
"html/semantics/forms/the-form-element/form-length.html": [
@@ -667561,11 +673485,11 @@
"testharness"
],
"html/semantics/forms/the-form-element/form-nameditem.html": [
- "e794f07c03b0921a8478cad049f2a1aba0eda8d2",
+ "7b7d573615e4f41c1da306db334f06d47d977961",
"testharness"
],
"html/semantics/forms/the-form-element/form-requestsubmit.html": [
- "1c7b7870bdf214f8672c4ede697acd28d290974c",
+ "62ab12c8dfdd9bbd91df15f76cbdc2a5c8832198",
"testharness"
],
"html/semantics/forms/the-form-element/resources/form-no-action-with-base.html": [
@@ -667645,11 +673569,11 @@
"manual"
],
"html/semantics/forms/the-input-element/files.html": [
- "93088330d378cbaa816bf1a10b16535d0aa2c3b0",
+ "a4157a3d6baaa021bc7a403baa5842e5711db43a",
"testharness"
],
"html/semantics/forms/the-input-element/hidden.html": [
- "4aca00d8c6b87924c473e96561489e287f93ca07",
+ "9274b5cddb33227ce1ddb895470524b3a8e747c1",
"testharness"
],
"html/semantics/forms/the-input-element/image-click-form-data.html": [
@@ -667749,11 +673673,11 @@
"manual"
],
"html/semantics/forms/the-input-element/maxlength.html": [
- "8f0a2567d40e7409fc794cc95bd975bf1ac9408b",
+ "da5d18d00a95ce4ca4b7ea9861d3d4930e0d157d",
"testharness"
],
"html/semantics/forms/the-input-element/minlength.html": [
- "7bfdf189a770de6aa32da6a38d5a01ba515740b0",
+ "6748e30eaf18f2729ad2d11498dcba1daae65a18",
"testharness"
],
"html/semantics/forms/the-input-element/month.html": [
@@ -667849,7 +673773,7 @@
"testharness"
],
"html/semantics/forms/the-input-element/selection.html": [
- "7d9c1a4fd7e249e6e57e06f308d4f16fa51050aa",
+ "42c40108d92716ca263323389d05c5480703b393",
"testharness"
],
"html/semantics/forms/the-input-element/telephone.html": [
@@ -667857,7 +673781,7 @@
"testharness"
],
"html/semantics/forms/the-input-element/text.html": [
- "b6d4ceabf4fa0af4d47b8a7ce2f42098c8323585",
+ "f30f9d39fc3dd75df3cca6b96b926078aa732ee1",
"testharness"
],
"html/semantics/forms/the-input-element/time-2.html": [
@@ -667881,7 +673805,7 @@
"crashtest"
],
"html/semantics/forms/the-input-element/type-change-state.html": [
- "dc5dcbfdece11d08cfadabf14bc34e64bb5c012d",
+ "a10ea1d285830c79feba57c8e0753a05016fafb7",
"testharness"
],
"html/semantics/forms/the-input-element/url.html": [
@@ -667889,7 +673813,7 @@
"testharness"
],
"html/semantics/forms/the-input-element/valueMode.html": [
- "5502011794fcfdcfae5161ca861448ceb503dc54",
+ "ff01bde269c6384a0acd743919e2173d4a37595c",
"testharness"
],
"html/semantics/forms/the-input-element/week.html": [
@@ -667921,7 +673845,7 @@
"testharness"
],
"html/semantics/forms/the-meter-element/meter.html": [
- "1c1ce4f18c2f523a5f02eccfef4ff36ab4eb63cd",
+ "c7c260c957ded10d295c92c1b8273a3226cc73cb",
"testharness"
],
"html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html": [
@@ -668017,7 +673941,7 @@
"testharness"
],
"html/semantics/forms/the-select-element/select-add.html": [
- "84a5442e424caf3bff11548e55163a8f6dd09361",
+ "910be348ae765df079970f4fc7f38cbbf955454d",
"testharness"
],
"html/semantics/forms/the-select-element/select-ask-for-reset.html": [
@@ -668081,11 +674005,11 @@
"support"
],
"html/semantics/forms/the-textarea-element/textarea-maxlength.html": [
- "ff4e8f1b65c922c5983cd0dcdedb4b9a55d3747b",
+ "3ea673951858b3b3d63556d76454ff81179cf035",
"testharness"
],
"html/semantics/forms/the-textarea-element/textarea-minlength.html": [
- "9a15a1293929807b9264e4612e732949c9147ef8",
+ "2d40901b40d3e63fede91d9d416450580caf33b0",
"testharness"
],
"html/semantics/forms/the-textarea-element/textarea-newline-bidi-ref.html": [
@@ -668509,7 +674433,7 @@
"testharness"
],
"html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html": [
- "267c22145ee35ad9956642a0684591a53be7d1c2",
+ "16b55b16270b23744529eb70c125e997e6c62c89",
"testharness"
],
"html/semantics/interactive-elements/the-dialog-element/inert-does-not-match-disabled-selector.html": [
@@ -670737,7 +676661,7 @@
"testharness"
],
"html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html": [
- "046395ac7c728a3f233ca7a533fdafbb42b694e9",
+ "823c0c830fc08c466e5043e63e1a9fdf3a942095",
"testharness"
],
"html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html": [
@@ -670893,7 +676817,7 @@
"testharness"
],
"html/semantics/tabular-data/the-table-element/caption-methods.html": [
- "ec95eab39fb26acc0831c287d55317075abead1a",
+ "a349ed2b7751f22c7feac9fb8b000e753ce527d6",
"testharness"
],
"html/semantics/tabular-data/the-table-element/createTBody.html": [
@@ -670905,7 +676829,7 @@
"testharness"
],
"html/semantics/tabular-data/the-table-element/insertRow-method-01.html": [
- "4e379a1ccc3b726b718441cc631e1a0d2a71279c",
+ "8ed7b5fad687784c6b1bc176e85d004a280df24f",
"testharness"
],
"html/semantics/tabular-data/the-table-element/insertRow-method-02.html": [
@@ -670917,7 +676841,7 @@
"testharness"
],
"html/semantics/tabular-data/the-table-element/remove-row.html": [
- "dc152292e2748f60edd953c82e83f61bc106339b",
+ "43a128c57e92ef6a580fb2b6c522348edebaae85",
"testharness"
],
"html/semantics/tabular-data/the-table-element/tBodies.html": [
@@ -670925,11 +676849,11 @@
"testharness"
],
"html/semantics/tabular-data/the-table-element/tFoot.html": [
- "e83d193f35f7a6596252e87306a47dbd9c9b79fd",
+ "40220bc1e26207b4d2870616a52145862955627d",
"testharness"
],
"html/semantics/tabular-data/the-table-element/tHead.html": [
- "78a874824df202fd09008336eaab1f0e2dd0da60",
+ "fadebecd6f2f90a63736c8aa1321cd2d0b361135",
"testharness"
],
"html/semantics/tabular-data/the-table-element/table-insertRow.html": [
@@ -670941,11 +676865,11 @@
"testharness"
],
"html/semantics/tabular-data/the-tbody-element/deleteRow.html": [
- "5e50a31873999b9cf399f21cb59a18db1fcebb78",
+ "695c1ea50bf1a84f530f809e77da978b93290906",
"testharness"
],
"html/semantics/tabular-data/the-tbody-element/insertRow.html": [
- "4c13db7aa5f6b78cd85dc367acc701af19edb820",
+ "f5c2227ca607cd395467b80f5f20e249cb61767e",
"testharness"
],
"html/semantics/tabular-data/the-tbody-element/rows.html": [
@@ -670965,11 +676889,11 @@
"testharness"
],
"html/semantics/tabular-data/the-tr-element/deleteCell.html": [
- "aa15ef77ec293c64c6f11e5ff64af7634c3c6028",
+ "9962617a71e0df93f40cf0883df80fc221ec3a16",
"testharness"
],
"html/semantics/tabular-data/the-tr-element/insertCell.html": [
- "7c2edc4acbf37e7b96beaa2f9e2cb74536dfe109",
+ "11cd213fe7ba1bac8d8e2e89d78aaa856a2657d4",
"testharness"
],
"html/semantics/tabular-data/the-tr-element/rowIndex.html": [
@@ -671981,7 +677905,7 @@
"testharness"
],
"html/webappapis/atob/base64.html": [
- "c522afdd56c7ca0ef16094b9bd98c6bda5becefe",
+ "61c3667dceeb136e03abcec1d4835ea852e0018b",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document-close-with-pending-script.html": [
@@ -671989,7 +677913,7 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml": [
- "cccc26bf17e3afe04cdad59cf2cf325ead1fb581",
+ "164d71d1910f212635cfbb3f09515aafb4bbedc0",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/closing-the-input-stream/load-event-after-location-set-during-write.window.js": [
@@ -672249,7 +678173,7 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml": [
- "ec8702a744eaff10fe4ebd22495a47ff4279a752",
+ "fc21d4e2bf2e6aff6318c2d81d2affa9833e5e06",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html": [
@@ -672385,7 +678309,7 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml": [
- "3d59bcd20b491b9acd84e7e65aab1faa066bc8df",
+ "cb5ec3a33affc613fcc3c46a2009d15066c4b8b8",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html": [
@@ -672489,11 +678413,11 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js": [
- "0e1c54b683257aea8fd58c893957acd794cc1ab1",
+ "d60be3b8d6096aaee5770780b024c0e28114f2af",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js": [
- "3558397410edea6eaa9e73fa6d0293cc7e4d48ba",
+ "8b1a04fe83adfe911d04b10a45f24569421c57ec",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-ignore-opens-during-unload.window.js": [
@@ -672501,7 +678425,7 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js": [
- "ef35452e330e80ab8b4acebf4f1f9ef7a523dc90",
+ "9adacb2a99f9b4d5167a863b2d2ab9a1480266af",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window.js": [
@@ -672509,7 +678433,7 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js": [
- "b3ea1fdf75455616c0e47772b0403bf434f76d36",
+ "bcc4266319a428e77dc5ba6ea7d75b6445c76113",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/beforeunload.window.js": [
@@ -672517,7 +678441,7 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js": [
- "be646d15b803d3fbe583a38d4524ad36e1a9b5d1",
+ "1ad06b3d372c7fda351893da9e8a009d3134dfa6",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document-open-cancels-javascript-url-navigation.html": [
@@ -672525,11 +678449,11 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml": [
- "974702ae8cbdbd45704d325d5d7e1e649535bd09",
+ "c02b3e4db5091b1d4c2e73702c4240028025f702",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html": [
- "b56e3a836f46ebe3d902bcbcbca91ac50a6d697d",
+ "c7e67a0cf7486de0b70320f4d8e1b46a5556238e",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html": [
@@ -672581,7 +678505,7 @@
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html": [
- "5e5ca80781809cc509a8eade7ea91e74de92f9a8",
+ "83ce50d6c4d6d424b9231b2a0aa505a59f19d3fc",
"testharness"
],
"html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.js": [
@@ -672709,7 +678633,7 @@
"testharness"
],
"html/webappapis/microtask-queuing/queue-microtask.any.js": [
- "b39931719a88ad525511d8f8745a9b752a6a6465",
+ "e67765fade3bc64883782ffde985c915444832be",
"testharness"
],
"html/webappapis/microtask-queuing/queue-microtask.window.js": [
@@ -672885,7 +678809,7 @@
"testharness"
],
"html/webappapis/scripting/events/messageevent-constructor.https.html": [
- "70b5ff6e568bc3885085f58d07a0b183bf9434ef",
+ "c0dc4d231ceac9787e37952fc516593cc113ee1a",
"testharness"
],
"html/webappapis/scripting/events/onerroreventhandler-frame.html": [
@@ -672973,7 +678897,7 @@
"testharness"
],
"html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js": [
- "a890b350198253dc876e719d3e36d2426d3361a8",
+ "f195a70fdf9a41bc3abcbb1e17c38540054c5b50",
"testharness"
],
"html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.js": [
@@ -673061,7 +678985,7 @@
"testharness"
],
"html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html": [
- "17cc35c21b0af6cb2488345a54fb3d7117e0304a",
+ "888750721281df568bdc419088190b193ff37868",
"testharness"
],
"html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html": [
@@ -673181,7 +679105,7 @@
"testharness"
],
"html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html": [
- "2b70f7ae6020dfc99d3a948c6c99970ea2dfd67e",
+ "c6fbeb65c55bc16f3d7c0757bc52373b34d8b975",
"testharness"
],
"html/webappapis/system-state-and-capabilities/the-navigator-object/secure_context.html": [
@@ -673349,7 +679273,7 @@
"testharness"
],
"imagebitmap-renderingcontext/transferFromImageBitmap-detached.html": [
- "c0ae84148af586764b24e828c0ba72793230e76f",
+ "40bf6eeb56871be2a9373770ed1f3b82f7398a9c",
"testharness"
],
"images/META.yml": [
@@ -673901,7 +679825,7 @@
"support"
],
"import-maps/resources/jest-test-helper.js": [
- "8fa7b65adb5f77d0e5a6282305641c8268948cb4",
+ "ee62af853cd285238ad92f00757c7b893164bf44",
"support"
],
"import-maps/resources/log.js": [
@@ -674864,10 +680788,6 @@
"2b557e653163863feffa05d3f4a4e961142aa944",
"support"
],
- "interfaces/css-regions.idl": [
- "f7cf3d31a114a653734990ef081ac109478dfcd8",
- "support"
- ],
"interfaces/css-shadow-parts.idl": [
"66aaeba73a7a62280171ea1765915991b9da1ba3",
"support"
@@ -675389,7 +681309,7 @@
"testharness"
],
"intersection-observer/observer-exceptions.html": [
- "f8d089b75b425f80cf45a8f504448af8357f7804",
+ "126790f290d9480dcda7eed6e1b2989ffcc6a70f",
"testharness"
],
"intersection-observer/observer-in-iframe.html": [
@@ -675577,7 +681497,7 @@
"testharness"
],
"js/builtins/Array.prototype.join-order.html": [
- "e5589803a68bd0feda0689b85be6bd72f3da1ed2",
+ "13d49a8d192ac562fa5d56104195d67a62ad7444",
"testharness"
],
"js/builtins/Math.max.html": [
@@ -675605,7 +681525,7 @@
"testharness"
],
"js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html": [
- "402f1ae6fd5bfea2a18fc70b5ea73c30f6ccd418",
+ "e64d0b7163283d6e26a24c7812f10f39af9f7a5b",
"testharness"
],
"js/builtins/Object.prototype.preventExtensions.html": [
@@ -675633,7 +681553,7 @@
"testharness"
],
"js/builtins/WeakMap.prototype-properties.html": [
- "ecf4a8e311ecfcf72642657468e22f234153cecd",
+ "2c2bddfeb7159bffa215a5f6ef858d361aa4fc8b",
"testharness"
],
"keyboard-lock/META.yml": [
@@ -675737,7 +681657,7 @@
"support"
],
"kv-storage/interface.https.html": [
- "a5eba425b6d22469c37ee50e2845dcaa87ff8967",
+ "d98b1c876d39583546968bacfc2e6766bbedbf27",
"testharness"
],
"kv-storage/key-types.https.html": [
@@ -675797,11 +681717,11 @@
"testharness"
],
"largest-contentful-paint/contracted-image.html": [
- "2d4a84bf35cf895f6bc667f2e5c4352d86fd74d0",
+ "ed6adfb2c7c66c65bd13f514be173d1cb48ff19e",
"testharness"
],
"largest-contentful-paint/cross-origin-image.sub.html": [
- "58e636e51b9f2b544b2c8f40324e61c97ee5c795",
+ "be0c8a1e11e334aeb62d3cd952072e481c9ee7ea",
"testharness"
],
"largest-contentful-paint/element-only-when-fully-active.html": [
@@ -675809,15 +681729,15 @@
"testharness"
],
"largest-contentful-paint/expanded-image.html": [
- "6f7043dd8e426d6b4b5d4f89d8e64383cf7696e9",
+ "e0b3545c21c2c14bd26feb9720648537a780d20f",
"testharness"
],
"largest-contentful-paint/first-letter-background.html": [
- "44d2a1a968083e8c91f61b33909ec115ea1b3a63",
+ "5269e468558b5ee0ee4c9fc39a46d2523143716a",
"testharness"
],
"largest-contentful-paint/first-paint-equals-lcp-text.html": [
- "a49a83f346d59f8c5e1a218891ecddc5a85ac5ea",
+ "7a01cb15943ac3b0b863daa3272d962f78ec5e3f",
"testharness"
],
"largest-contentful-paint/idlharness.html": [
@@ -675825,7 +681745,7 @@
"testharness"
],
"largest-contentful-paint/iframe-content-not-observed.html": [
- "7cb23ddbd2058b0079af7980a01781bb1561a3e7",
+ "ea8e0d79f380b723d47f9683000be7ee4985c92b",
"testharness"
],
"largest-contentful-paint/image-TAO.sub.html": [
@@ -675841,23 +681761,23 @@
"testharness"
],
"largest-contentful-paint/image-src-change.html": [
- "5ec860fa06f3281fd421912298e7b2c93dae19bb",
+ "cbe46f402b4e344571932fc501d4d3410eadc125",
"testharness"
],
"largest-contentful-paint/invisible-images.html": [
- "d536f86dcf69da791efb442893d094c6a71d8db5",
+ "49324663f22688c36dbf0ae1f131bda5339151f1",
"testharness"
],
"largest-contentful-paint/larger-image.html": [
- "094c2096752fa52ee0a249cd26cb97b5376edae1",
+ "a571b8afe7915609b49197ac8eafbcde76b42d01",
"testharness"
],
"largest-contentful-paint/larger-text.html": [
- "973832ca6c864aff084b7db7880efb981c2bfecf",
+ "af8bbc06b32c95bc66b0c450b7eb20f7154edcd6",
"testharness"
],
"largest-contentful-paint/loadTime-after-appendChild.html": [
- "0e40127b57683fa76392827003b15c2bb9c8d558",
+ "f320b03df4da612b37c04900a0e702981220987a",
"testharness"
],
"largest-contentful-paint/multiple-redirects-TAO.html": [
@@ -675865,15 +681785,15 @@
"testharness"
],
"largest-contentful-paint/observe-after-untrusted-scroll.html": [
- "1b2cd1d25b5bb9da740e5127526fed41dcebfae7",
+ "4a1a214c8330a79999e1841fc87c5c27d8e57906",
"testharness"
],
"largest-contentful-paint/observe-image.html": [
- "5856795cac49beea469b05ff06b57a163bc2756a",
+ "58eb5364a92536597a78f16f76907de182f60d37",
"testharness"
],
"largest-contentful-paint/observe-text.html": [
- "a2a376fde335cb2b9e05c8923998bfc15c2695f1",
+ "402fcd8019586c6b63077ff68fc8ae3a425c1574",
"testharness"
],
"largest-contentful-paint/redirects-tao-star.html": [
@@ -675881,7 +681801,7 @@
"testharness"
],
"largest-contentful-paint/repeated-image.html": [
- "82d662d330ab74ce88773257dadfb75af87451d1",
+ "8c3c8909099296b85cdcda6f25c893f12a4ad3ac",
"testharness"
],
"largest-contentful-paint/resources/iframe-stores-entry.html": [
@@ -675901,15 +681821,15 @@
"testharness"
],
"largest-contentful-paint/text-with-display-style.html": [
- "2f1f254d7775e84c7bbfdc77125eb7265b627dcf",
+ "24541541a8becb116ada2c682e48630932ba1fbf",
"testharness"
],
"largest-contentful-paint/toJSON.html": [
- "7defcce1b6f9f2b681405988f74d3977fa3f29e8",
+ "25be5eb2dc909fcc2c224538607e3af47377ffc2",
"testharness"
],
"largest-contentful-paint/video-poster.html": [
- "9ad9c4cdfd09bfb3c3de4b77c29fff31a2d7089f",
+ "535f30e256574d9b734028f0ba7fb13b02ac0dba",
"testharness"
],
"layout-instability/body-display-change.html": [
@@ -676069,7 +681989,7 @@
"testharness"
],
"lint.whitelist": [
- "1b102e4e03cc42f9b3d9774ed3ebbc42ede82c7f",
+ "e428d2f4f1911d93cfdfde2f1a924b08d32e8ea8",
"support"
],
"loading/lazyload/META.yml": [
@@ -676149,7 +682069,7 @@
"testharness"
],
"loading/lazyload/original-crossorigin-applied-tentative.sub.html": [
- "dc3cff783e10189a90024f2fc03ae1f5ef54128b",
+ "34470b03525ab202078883915b6a51f06a3c0937",
"testharness"
],
"loading/lazyload/original-referrer-policy-applied-tentative.sub.html": [
@@ -676217,43 +682137,43 @@
"testharness"
],
"longtask-timing/long-microtask.window.js": [
- "7b7d1848f8c9a85a147abab47769960e905f33c7",
+ "9219fdb5c49b99b646343584fae37380d6f2a2b1",
"testharness"
],
"longtask-timing/longtask-attributes.html": [
- "8e0da824a873c6cf914cc85684d8bceb76a85153",
+ "24540d7c22f04dec0919412a481adf279f685290",
"testharness"
],
"longtask-timing/longtask-in-childiframe-crossorigin.html": [
- "149cf93e8695ef1e65d1db7a3700edfca3710d7c",
+ "20a94a1eef4de998aa1ea9fa8ed4b781e7da9d3e",
"testharness"
],
"longtask-timing/longtask-in-childiframe.html": [
- "432ead57597fd4d995f8ace6f232823908ece881",
+ "4feae7e55c16367025e13dfe1b1364500bcc34bc",
"testharness"
],
"longtask-timing/longtask-in-externalscript.html": [
- "57c2d5650c05e33ca4eaefa95a367dcb44075a13",
+ "db5c9db4a1626417aedd6c0e62c39376d8ee1a02",
"testharness"
],
"longtask-timing/longtask-in-parentiframe.html": [
- "2da635467a211cae6e15352c8e9ddf450ce36663",
+ "c6b7e3e583894ce57b292c3b746009f11a8a43c5",
"testharness"
],
"longtask-timing/longtask-in-raf.html": [
- "88ad2ef98927aa64a610a8573e8564c5dce20cbf",
+ "110ae751ee335d6d08b527d0cc7b32174f3371ec",
"testharness"
],
"longtask-timing/longtask-in-sibling-iframe-crossorigin.html": [
- "653556333a14c244bb079d4235fea2cb9a821d54",
+ "ba9c7170626e34b0f36d7680841cb13c048152e2",
"testharness"
],
"longtask-timing/longtask-in-sibling-iframe.html": [
- "280d387654b8a49b7c726db9175983d88b2ce73a",
+ "8f530fab06970125589e0594cb5725617c829349",
"testharness"
],
"longtask-timing/longtask-tojson.html": [
- "20a97a16b041883691db832a7197162d5699cdc9",
+ "6574b62d348b08e2f43aa5a81a2f3fd8bd2c50c6",
"testharness"
],
"longtask-timing/resources/makelongtask.js": [
@@ -676273,7 +682193,7 @@
"support"
],
"longtask-timing/shared-renderer/longtask-in-new-window.html": [
- "3a68d1451a5b47ce703fd971a68ea09eb4f2ae4d",
+ "18d36b1e734bc0ef21af575892690211c420bd5b",
"testharness"
],
"longtask-timing/shared-renderer/resources/frame-with-longtask.html": [
@@ -676281,7 +682201,7 @@
"support"
],
"longtask-timing/supported-longtask-types.window.js": [
- "3c68c01d32d614dab435d91a0dce39244f8d7e09",
+ "aaa6415a8d3e5f73e940ae83551e05caee67311c",
"testharness"
],
"magnetometer/META.yml": [
@@ -676872,6 +682792,14 @@
"2ad6b0b772c39cad147604523409d85bee999564",
"testharness"
],
+ "mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html": [
+ "ed30edde96258d56f300b89889e019df392bb7a1",
+ "support"
+ ],
+ "mathml/presentation-markup/spaces/space-vertical-align.tentative.html": [
+ "31fae695da78d08f9bc7e585f40487b611b24881",
+ "reftest"
+ ],
"mathml/presentation-markup/tables/table-001.html": [
"f967f62a22b2c731b0ad83ded970165539391abe",
"testharness"
@@ -677661,11 +683589,11 @@
"support"
],
"media-source/SourceBuffer-abort-readyState.html": [
- "159ee60a2d0c4f6c4ca6be14da5bdaf9f7901226",
+ "5942379d08e69619208bc22f6f8fcc513d7f16e7",
"testharness"
],
"media-source/SourceBuffer-abort-removed.html": [
- "00d65c133b009fe7a64f6a2c294c19ec06a5a8bf",
+ "c96412d06309f0976231539fe4c7b77332275535",
"testharness"
],
"media-source/SourceBuffer-abort-updating.html": [
@@ -677677,7 +683605,7 @@
"testharness"
],
"media-source/URL-createObjectURL-null.html": [
- "a4177dd846be89c4f9118b1ba3ef9a72eb2a0ecf",
+ "f2f973a776e5fc17fd59765d5551a79eb492a959",
"testharness"
],
"media-source/URL-createObjectURL-revoke.html": [
@@ -677713,11 +683641,11 @@
"testharness"
],
"media-source/mediasource-addsourcebuffer.html": [
- "6ada12284908d13a9658380cbdde3179e702047d",
+ "a95155aefc281aa1d5e83ccdcc5663122af9fc40",
"testharness"
],
"media-source/mediasource-append-buffer.html": [
- "a742ea3916be0eb129a2db666cfaec43dd3f1db3",
+ "750ccaf456f7f1348d2d0844798513b05e4b1136",
"testharness"
],
"media-source/mediasource-appendbuffer-quota-exceeded.html": [
@@ -677725,7 +683653,7 @@
"testharness"
],
"media-source/mediasource-appendwindow.html": [
- "aebbee418dfefb7a67c72fb569c9b84560faee44",
+ "9add634080467620cee954fbd7d3fb33d8c4f3a5",
"testharness"
],
"media-source/mediasource-attach-stops-delaying-load-event.html": [
@@ -677737,7 +683665,7 @@
"testharness"
],
"media-source/mediasource-buffered.html": [
- "38cd1717eb23be2d6ef9dde3959aa79b48621193",
+ "7015fc6b61ac68eb058dc9acaa73ecc5a60dd605",
"testharness"
],
"media-source/mediasource-changetype-play-implicit.html": [
@@ -677761,11 +683689,11 @@
"support"
],
"media-source/mediasource-changetype.html": [
- "8ce821d08f1c247675e5f9d86ee9554c191e47e4",
+ "25618cdc1ec25a20e1569d6429f9c83da3b5303a",
"testharness"
],
"media-source/mediasource-closed.html": [
- "4b22cae85445d73da19de7cd145a8789cd9f562f",
+ "79d522f2f9a9ecdfe7d35d0c955719ffcf0e3f24",
"testharness"
],
"media-source/mediasource-config-change-mp4-a-bitrate.html": [
@@ -677845,11 +683773,11 @@
"testharness"
],
"media-source/mediasource-duration.html": [
- "4bc0fb2d74c103e69656dfd8c9a46272bcb2eacf",
+ "b4619da38b9f960fe1af1f9e890cde746fc2301e",
"testharness"
],
"media-source/mediasource-endofstream-invaliderror.html": [
- "0327e44cc0d8a000a0945a523ba7499c733bc165",
+ "20a118d717100cbcff7d65b7d480e12c6eba43f0",
"testharness"
],
"media-source/mediasource-endofstream.html": [
@@ -677873,7 +683801,7 @@
"testharness"
],
"media-source/mediasource-liveseekable.html": [
- "3e79a1140264ffa467198bc8c2996c42657231fb",
+ "123a41e9e54a0c4c572ed2cd6874e8c571864e7a",
"testharness"
],
"media-source/mediasource-multiple-attach.html": [
@@ -677897,11 +683825,11 @@
"testharness"
],
"media-source/mediasource-remove.html": [
- "454178709f9b7b2f83fd9a60625765512874b502",
+ "6fea5a3e2e5366da0953d1348ab13a7d06e25877",
"testharness"
],
"media-source/mediasource-removesourcebuffer.html": [
- "0388565329ff0d734785715a7b7d720c53b3feaa",
+ "30ec930cbeddac0cd5385985ea760fd8879f9bdc",
"testharness"
],
"media-source/mediasource-replay.html": [
@@ -677925,15 +683853,15 @@
"testharness"
],
"media-source/mediasource-sourcebuffer-mode-timestamps.html": [
- "c5816968b0713b3094f44d385fd77341043728b6",
+ "c62e542162209fe18c19a2e3bcad140bdfbc21fb",
"testharness"
],
"media-source/mediasource-sourcebuffer-mode.html": [
- "521fa7f92afc8b56207f8dc27e15eb860b4c38af",
+ "2d84fa9753c04a3162a7204fe2b19999cebd8c76",
"testharness"
],
"media-source/mediasource-sourcebuffer-trackdefaults.html": [
- "0eb9d2643af2888546f1eba15286700ad38d5f44",
+ "905d1d0d0ee197aeab7a4823bdad72136674c1ce",
"testharness"
],
"media-source/mediasource-sourcebufferlist.html": [
@@ -677941,15 +683869,15 @@
"testharness"
],
"media-source/mediasource-timestamp-offset.html": [
- "22e429286835a3329eebd8b9d53fbc3766df6e38",
+ "05495b71920d9f4e32db2cf0c2943f8908030084",
"testharness"
],
"media-source/mediasource-trackdefault.html": [
- "5fc2e5e97d6a04783409e05fb539eb29f1c761a7",
+ "e6c9e76ef91a382b1fe014b70269850d8677e5fd",
"testharness"
],
"media-source/mediasource-trackdefaultlist.html": [
- "cceda8be460a610b03afd35e83facf544901a731",
+ "940260cfd298897050725c83e26090c94b63930e",
"testharness"
],
"media-source/mediasource-util.js": [
@@ -678329,7 +684257,7 @@
"testharness"
],
"mediacapture-image/ImageCapture-creation.https.html": [
- "387dceee37a8ee8149f63e5af8c1bd8e5cb8763a",
+ "e53915608f00df16cdbe65f6bcae304a8dd4d92a",
"testharness"
],
"mediacapture-image/ImageCapture-grabFrame.html": [
@@ -678441,15 +684369,15 @@
"testharness"
],
"mediacapture-record/MediaRecorder-error.html": [
- "7852ee3a7c141112dd6e0faa0b36e2cc324c461d",
+ "4daf2d9cd1a6de82165152facf88c4742eb00536",
"testharness"
],
"mediacapture-record/MediaRecorder-events-and-exceptions.html": [
- "cddc07e5079481e0ac7b44d1c223d88bea9e64fe",
+ "5dca350dd2754211ace05c5df7d9a5fd62aee428",
"testharness"
],
"mediacapture-record/MediaRecorder-mimetype.html": [
- "06841aea9e66d26ef77be3b95018a97cfbf70bd9",
+ "8b98977dda2f4d1d0d6d3e121bb03304122c5eac",
"testharness"
],
"mediacapture-record/MediaRecorder-no-sink.https.html": [
@@ -678465,7 +684393,7 @@
"testharness"
],
"mediacapture-record/MediaRecorder-stop.html": [
- "bda5d871d04cd3fc52cd4a30efd0392f3708c9bb",
+ "bb39b027f0fcac0a4aa63918d56d62296607b5e9",
"testharness"
],
"mediacapture-record/idlharness.window.js": [
@@ -678653,7 +684581,7 @@
"testharness"
],
"mediacapture-streams/historical.https.html": [
- "9437c51552abf1d3e72e9697c4d30ec47e508e29",
+ "84326cec0a61adafc27a2f07846b820a983d8d61",
"testharness"
],
"mediacapture-streams/idlharness.https.window.js": [
@@ -678677,7 +684605,7 @@
"testharness"
],
"mediasession/mediametadata.html": [
- "11f6a5f9767248b9dbec50a36d39dabb392e48aa",
+ "ff00e54ee7c6c31cb899a9045de2311be55fb67e",
"testharness"
],
"mediasession/playbackstate.html": [
@@ -678709,7 +684637,7 @@
"testharness"
],
"mimesniff/mime-types/parsing.any.js": [
- "640a46b9e98ee145cdfaf44cc458023e1f1ac4bd",
+ "ae396c4f095b6a6d190a25fe2a0231c53f19b29a",
"testharness"
],
"mimesniff/mime-types/resources/generated-mime-types.json": [
@@ -681377,7 +687305,7 @@
"manual"
],
"native-file-system/native_FileSystemBaseHandle-postMessage-MessagePort-manual.https.tentative.html": [
- "4b57576688171377b2296c4595917a5b7563b1fb",
+ "c78b766dab91f158f5fe89c6929153108230545c",
"manual"
],
"native-file-system/native_FileSystemBaseHandle-postMessage-manual.https.tentative.html": [
@@ -681481,7 +687409,7 @@
"testharness"
],
"native-file-system/sandboxed_FileSystemBaseHandle-postMessage-MessagePort.tentative.https.window.js": [
- "043c6b392622df65a7ad92f422bc74a5c8329ee2",
+ "e64e6446399af15e5a7e469fd9285570de6ed749",
"testharness"
],
"native-file-system/sandboxed_FileSystemBaseHandle-postMessage.tentative.https.window.js": [
@@ -681953,7 +687881,7 @@
"testharness"
],
"notifications/constructor-invalid.html": [
- "88df165e169c03762d9b364437eb13f56d8d0720",
+ "1995ccc4f5f979d4e01e97dc95ecce698eae4885",
"testharness"
],
"notifications/event-onclick-manual.html": [
@@ -682785,11 +688713,11 @@
"testharness"
],
"offscreen-canvas/conformance-requirements/2d.missingargs.html": [
- "4c810495c8f224d58e8855c0dc6384abd4e02406",
+ "77d35fdbf4e0ca2c6e028e4dac4f8566fce345b8",
"testharness"
],
"offscreen-canvas/conformance-requirements/2d.missingargs.worker.js": [
- "b8bc127b877c088699c498ac276bdbc423d380ac",
+ "0fc7c4d2bb5301ce1fbdb78c4faae822bc292806",
"testharness"
],
"offscreen-canvas/conformance-requirements/2d.voidreturn.html": [
@@ -682961,11 +688889,11 @@
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.html": [
- "0cf9ca26d73147f38c3d4538b82a33d0f6eb11e2",
+ "ffc7c9b08b50117a84af95c9532aa31cf668e650",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.worker.js": [
- "8ed0887ecd879783bd18e3eb82215a48f8db2285",
+ "4591facb2ce1ab4a4d45c1bf7d810a1c0d356b3a",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.path.html": [
@@ -683009,35 +688937,35 @@
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html": [
- "5cb283466bd5879d7084c3b52e23a2517fe3f6a2",
+ "c003ae2571d57d731fc8c73cc96358e88bb7ca28",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.worker.js": [
- "ffdc25021635a8264bc7c371a7f3e5e3c1236536",
+ "5ab86698b9599ab5314c1c982da02737fba8fa40",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html": [
- "f945cedab15fb77dc2a714d75d407587636c8058",
+ "04d4ccdb1222edc553839926946d4bdea3927bc1",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker.js": [
- "1e9d63cf92b0353c88426cf4cd68e5a507333435",
+ "7caae3668443b0e695211f15e4c95350ac55c027",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.html": [
- "b941f3aa3aaa89322b40017d029274dcec264c85",
+ "8bf00de42382e65691599cfd0d7c0544c293c363",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html": [
- "1abcb6abf495ae8f6959393dd3496d6041b6cc75",
+ "94d9bb61a6b605cae1f06a86dd12e392391c0882",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js": [
- "cf472ac4179c9903261f8c72f11d49bc610778b9",
+ "60768bc7a04dc029fb75b67b2581f43866371a52",
"testharness"
],
"offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker.js": [
- "b3b6a59cb7af150863f483de43837eb914dfafc6",
+ "be18c26b1ab0d0105de68bf8a53eb8947f896868",
"testharness"
],
"offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.basic.html": [
@@ -684433,11 +690361,11 @@
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html": [
- "51d48ac0fe13bdb0478fb2d3b04a8fbdd0285026",
+ "b20299bdc6c043ab4fa781428be4ed83004507f8",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.worker.js": [
- "c8268b009937b065ba9df93502d8d8526a909ef6",
+ "5d9ad6883042f6af8e937fdecb00c3a9bb3716a7",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.transform.1.html": [
@@ -684481,19 +690409,19 @@
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html": [
- "0b72a83527fcea6f87cc2c03f6782a1816bb0f32",
+ "e2ad325ebe74d4a45584172815a30c082a8f5a57",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.worker.js": [
- "526edbffb6061819b70b83d57942b065a2f8769c",
+ "4fde56802008160695261c81a1728ee97daab70b",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html": [
- "d841895c97e8c36bbf56e1f2998d5c1ceb02147b",
+ "95c9f30478604930336667c779c115e89db69755",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.worker.js": [
- "23b5d7a3d856cd067e21a5933cf5b3dcf5aee213",
+ "79cefb3ed200a3d3f644ae393e449f9a8b6719fe",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.update.html": [
@@ -684601,19 +690529,19 @@
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.html": [
- "39cacb901e6b9dd57c583a898a6fd6e4cb691be9",
+ "470455eab0bda3789c6e5e4a19f642b371f6f5b8",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.worker.js": [
- "979e020796b248b86c59632aefc134e6f72c1de1",
+ "8c206b7a8569f2092de8da69f12d1d464fca3a9d",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html": [
- "ce657dec4c2573cba52f1ab2ef5c886ff625c603",
+ "207ebbc10d87876112b9348589cfcf5d36592ae8",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.worker.js": [
- "6a2d6e0eb04973cd4e80c288b5ce39228bd32653",
+ "e07060cf2c0b5e9445e8df06af7d0722fc0dbe45",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside1.html": [
@@ -684713,11 +690641,11 @@
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html": [
- "2293d21bf7b700ca95aebe1b158fa676c86a6c16",
+ "e1a0ec00bf35cd9555c11e3c476c7306facb0e8f",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker.js": [
- "c015002c6ada142efd66e6c0d9f75876cb46b13a",
+ "3034dee9f792f5e93721b4869d53152b52e4ab41",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.crosscanvas.html": [
@@ -684729,27 +690657,27 @@
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.html": [
- "193bb9dd4c01b3c3de71a023435591237f6bcf63",
+ "0bf03d53d7f55912efd37dab3652ed739d7e6ba0",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.worker.js": [
- "6b5ad64c7c4652f0d39b6543240c05f9806a1746",
+ "73af4f44af1ad774468498980cf6df3d04b737b2",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.html": [
- "0722f8f28173f5e953c684a14fcb1644e5f63248",
+ "f38cddbcc5d59463830960d2544840c4934b2305",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.worker.js": [
- "c64f978c3fa9d76f7b2a9b9fe8b17d1778da6911",
+ "bade91af85dea6de8fcfb4862461ea9792a6b9a5",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.html": [
- "8dff948281390082f2f718b92ec715be90613462",
+ "1d106cc075aba40959ffbed912813a1e1eb79656",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.worker.js": [
- "52163c091c50c508708c894cb9cd47a481f980e5",
+ "d53b19aed0c7e8a474f30232e41c1c14192ab990",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas1.html": [
@@ -684913,11 +690841,11 @@
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.html": [
- "392dfb66e91fc29784472a70d69ced1902236bd8",
+ "3fa8c333bfbb670af9e35b332cd0197c9a556cce",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker.js": [
- "1f7557e483f0168a272e36073d160a58b21f40ba",
+ "9d92417722cfce159f420d74677ca1582fdf3508",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.empty.html": [
@@ -684937,35 +690865,35 @@
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html": [
- "4b0f25afbf9369efa5560e48c00e706ffd679e02",
+ "65dc223ec94657ca7b55f85e260c1e194aaedd10",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker.js": [
- "3288e128257b9d3e963a0a41687634061c54548a",
+ "de773414fa38bca9fe4665a69022377bcc982e97",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.html": [
- "0722ae5ddc949fa7484d18ff4752a41f959dc197",
+ "b064877a4bee4c091216d3f5c40ee708903e129f",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker.js": [
- "020adf7c0026e3ff8fb051863a8a716a9557c0cb",
+ "7306f85ad79dc515492717382bede01adafca6a1",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html": [
- "03f4659fd7768ffc7e1cc2f0b0d31bcb6e5e17db",
+ "d0f8e63e7f1bdee3a6b7af618ad996b5ca917918",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker.js": [
- "2d7796d0ae38ec6a0e77ccc8b8d02696d87a6558",
+ "db19ecae4493811abde355641b066cc6e58d708b",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html": [
- "5d5b70536c4db560e832edf6469f38ce3b3d5300",
+ "8065796e3c1b3028a78093d8645878fa7d4d191f",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker.js": [
- "d16979b6e98ead15119e554c796557cad6fd2a87",
+ "5bb8e81b76cafb1124d94657762dc4984409d5f0",
"testharness"
],
"offscreen-canvas/fill-and-stroke-styles/2d.strokeStyle.default.html": [
@@ -685321,11 +691249,11 @@
"testharness"
],
"offscreen-canvas/path-objects/2d.path.arc.negative.html": [
- "38b7b8679eae84e7b4472817d1a570b6f5156ea2",
+ "96b5bc3ec2a3e2bba7aa2ffcb83fa7196c4d2209",
"testharness"
],
"offscreen-canvas/path-objects/2d.path.arc.negative.worker.js": [
- "e8488a0abba23e181bf2ba6a104f981884363d04",
+ "e4bdee938562edf7de29f14242ca909a7ad24a2e",
"testharness"
],
"offscreen-canvas/path-objects/2d.path.arc.nonempty.html": [
@@ -685529,11 +691457,11 @@
"testharness"
],
"offscreen-canvas/path-objects/2d.path.arcTo.negative.html": [
- "0bd6eb2dbb57a438fedf7984980800a5e63e6a0d",
+ "509dc1df0ba36c22cfa69609f061e20fca5db7ca",
"testharness"
],
"offscreen-canvas/path-objects/2d.path.arcTo.negative.worker.js": [
- "55ecf54c381bf56654f10a8accc0291b647f41db",
+ "67f3c0118212a2592defa0fd109836edf0abb1a5",
"testharness"
],
"offscreen-canvas/path-objects/2d.path.arcTo.nonfinite.html": [
@@ -686329,11 +692257,11 @@
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.html": [
- "1000e44c8632043192a35030d27d5ebab40952df",
+ "9c72eb1c6ce5615a541b4075c319cc1574f4b14b",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.worker.js": [
- "693fc5927bfd58440d7027af3c77353481bf7ea8",
+ "dc35289fd39a36401dafeda364adcad9af188869",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create2.basic.html": [
@@ -686369,11 +692297,11 @@
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.html": [
- "6f8afc0303fa1d3362fd0dab7fe0b3668319c6b6",
+ "ba25bd689e742c2d53366722285ca77fbc58fbe3",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js": [
- "3f588b0ad6bdee1d780ad3aca0aa67f91bbb33a4",
+ "2c2e9dc2a0d275a3d25bf3b38a17efa3e895d100",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create2.round.html": [
@@ -686385,11 +692313,11 @@
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.html": [
- "43a216cdc60c2ff960badf638af01b24a2f1f238",
+ "5a4553c90a37877849bc52b6dfe236a6ae3553ce",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.worker.js": [
- "e64977ca161778edd4f55c375b7f0ad4cd8173ea",
+ "ad892d90b98ac0c468ea941db5b7095801e4187f",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.get.basic.html": [
@@ -686417,11 +692345,11 @@
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.html": [
- "8d30b552a4a10af3cb98a1dbefba0dce0204ef1c",
+ "f40580e2345af5ce4995c5cb4aa6f7400ec49a5c",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.worker.js": [
- "b709ca6e99fce725092e10d5a2829b22d159bacb",
+ "754fcf87d73b922b9aad785ac70f8483e0efa2bb",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.get.nonpremul.html": [
@@ -686513,11 +692441,11 @@
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.html": [
- "3c461358222a908458e32def24e0debcb3dfc25f",
+ "6eab68366896274a52e8a46cf7aab1a5243a4d1c",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.worker.js": [
- "a5a963db6c1d414f2fa856691c54e3bda67d4d1a",
+ "89d68cc527932955bd42f4db5e80087a8a533554",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.object.clamp.html": [
@@ -686673,19 +692601,19 @@
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.html": [
- "9519691b991f7a78cc0d007fd81239f28f15e909",
+ "357473121f2947ed3b7bc7dcd8174a6d3a9e8d4d",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.worker.js": [
- "97b81d71eaccaa5fea80607953193399b25c9c62",
+ "c771a3ccbb5491f0c4bdb97725d04c4eabaa0dd1",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.put.null.html": [
- "f36f93eeddd19b391f756e943f27bbab74d981c7",
+ "aaf8e11a38e3fa019acf97531836ca336b020b52",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.put.null.worker.js": [
- "e7c4b3bc0118bb4c8991010ae9cd6c62675810ec",
+ "5f3417156be4ddf0222141430136959c6f6c2494",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.put.path.html": [
@@ -686713,11 +692641,11 @@
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.html": [
- "90700552371d3435b4bed200d5afc508d118f590",
+ "95775e208aab92ece06e361375628185a76fdc68",
"testharness"
],
"offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.worker.js": [
- "93dc33c07955cfb8e5eeb87c2aedfd8418bba77f",
+ "36437c291456a0e9ba7476c1d4cd69d358e3abc8",
"testharness"
],
"offscreen-canvas/shadows/2d.shadow.alpha.1.html": [
@@ -687833,59 +693761,59 @@
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.arguments.missing.html": [
- "ae8dd692148b3c762a581b0b76e603513a4b4717",
+ "a8c7f5ce5c18289c6d1997d61f400a2f61bf48c3",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.arguments.missing.worker.js": [
- "9dbd97c861a2857a3032680636d7d927411587a7",
+ "564790a23915b4e94ffddd5be72030d0a5af55bc",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.casesensitive.html": [
- "56431e2e4fc6c24430f54a736dca258b57f10185",
+ "3a51e5468784c38a032d49068aabc253b584a0d1",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.casesensitive.worker.js": [
- "b41c1f767f538888104ecdc5b3b4a98bb9dff8b0",
+ "e8d8b710a272fe460ad55d263cf0beb9d6d304d9",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.emptystring.html": [
- "92f37506eaa44c23b9aae9bb752eff12af69adbc",
+ "bb3c20211b8b84db36af666dd78cd4e8e0732832",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.emptystring.worker.js": [
- "54406bb5bfe06aa01c748f2d044edc91741bf256",
+ "fb172b21c2fd2eba74277149e9324f3715c17aff",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.html": [
- "8e846714fad82a2824ee2c61d4cea1a71efd0470",
+ "52f6bdade538d4db01ed15d3e307d05efeaba9af",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.worker.js": [
- "855f997118b8b36d571fb5760f687b0957742a3c",
+ "d9a08a50e3e38e5f2ca61e23134b486ec665b2a7",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.html": [
- "5511c4f21ec1ea096937d6c709c0dd7c9f29fea3",
+ "1c6c3f0679c16c9d931346f12fd6380437f68b3d",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.worker.js": [
- "c56ea7eb61538fef00e0c75ddeecf642e23b59e1",
+ "14905a8b67542c866a64e886c073b840d7194f20",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.html": [
- "b8660ae7fc6da28bedbfc14fae1808f286d89807",
+ "0ce674a837c502bbda53988afe3d454caae0af73",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.worker.js": [
- "efe45b9196bab91bedc4e238b5478837c6a474a7",
+ "def49a23655b669844c2c535754447254cb76420",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.html": [
- "89f2655d5636748bc0e13c360352aa44d9ded1b2",
+ "6e041ad532906b342273d8ad5ce7a0574840f89c",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.worker.js": [
- "a533117562d6403e52d5d9ad3fecd2b499344025",
+ "918fe58cad732fdfe55f66e63114c4bd621a735b",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/initial.colour.html": [
@@ -687969,27 +693897,27 @@
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html": [
- "a1760764dec276555c9125b04778d6a069716aff",
+ "cefe39d0fc80fec2b2a47c96d5fb179a25ea386f",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.worker.js": [
- "285e4e1d948764d54fd511b81f2d9dac0ee5b494",
+ "a9331101350dbeab41710820440f173fa1f60cff",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.html": [
- "7aaa0e6c36a7a147de60e54124dc15c26fd49273",
+ "0cb0abcc3b18a66d83a2ae301d7724c11a7b004a",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.worker.js": [
- "ced412fb8945d1b17732da0b179897948dc44565",
+ "d82b5a1c8d7cdef2f3a210ee82c243cd013240a1",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html": [
- "0922727c61ea2e152d3b52d381a6adb0bf4a31d1",
+ "a0d4263c93552781d1f72016710fb3f5fd9ffd79",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html": [
- "31187c64e3dd656a000075bfdcf5e2030e796a05",
+ "e127a1eef85636e3c90af47f3f4ad734ae8fedda",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w.html": [
@@ -687997,15 +693925,15 @@
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.html": [
- "a13e989cfcee7490a9ac2ba91796b5f926e83d41",
+ "12dc47db171c0893bd45c1679edadd4020181020",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.w.html": [
- "8637c3f71948797858dead08933f6e426801aad8",
+ "5030608c41bc0905d86d38ca49631e5bff9f99c7",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.html": [
- "bc2ac3aae05d040a9369a4493e0ba58076968612",
+ "2ad464114625b4d89ac3f99298fcbc466f86ca11",
"testharness"
],
"offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.w.html": [
@@ -688409,7 +694337,7 @@
"testharness"
],
"old-tests/submission/Microsoft/history/history_000.htm": [
- "855612b82a92b13b38745241228d8c0e5789fb20",
+ "d592f10dc2fed5bd92372f08e024ede93fcc56c4",
"testharness"
],
"old-tests/submission/Microsoft/selection/RemoveElementContainingSelection.htm": [
@@ -688645,7 +694573,7 @@
"testharness"
],
"orientation-sensor/orientation-sensor-tests.js": [
- "fb6d83faa8bec709724777aa3fe5caaada5daf11",
+ "5d35f3b9afcc52083bd0d124387cae3d5220412a",
"support"
],
"origin-policy/content-security/comma-in-policy.https.html": [
@@ -688901,47 +694829,47 @@
"support"
],
"paint-timing/basetest.html": [
- "7f84566d9a863e8bd25c2ece82c6141f7b029428",
+ "d4dfe7ed822beff3090a58e84d736f5ae79b4620",
"testharness"
],
"paint-timing/buffered-flag.window.js": [
- "7069eb6ccdeda9c51e207f0593d8f64ddc614e4f",
+ "4654c925ca0cf069d3b0a96f0daef25ef67ba187",
"testharness"
],
"paint-timing/child-painting-first-image.html": [
- "4671604cf09b9c5eaf0c11daa71692fe5790a270",
+ "d78af081ef8af9e47dac8a042564c0dc4fd38479",
"testharness"
],
"paint-timing/first-contentful-bg-image.html": [
- "ddcc78fbe55ec55c34faa59d25f1a2acb4e1724f",
+ "9c3b2200fb667f66925be4333a78b23914749617",
"testharness"
],
"paint-timing/first-contentful-canvas.html": [
- "3610a57ec716c4c087caedc6aba0c132e98ded03",
+ "ab47aa0c21c2cc3312f3f370a2566b80ecf8d13b",
"testharness"
],
"paint-timing/first-contentful-image.html": [
- "a4e89b37657361358f1b854e94c8d6b2a30d8c6c",
+ "034391c796cf23e9a99f2ddcfb5d18fcf5607da2",
"testharness"
],
"paint-timing/first-contentful-paint.html": [
- "d8eabefe12f698bc1d9ae0db477aa70946a951fb",
+ "67d7b95eaa5525b184b9d4abbc2e6595570caa09",
"testharness"
],
"paint-timing/first-contentful-svg.html": [
- "cf3e95427582fc612712ac383086dba424f65565",
+ "8cda11c95671f98a5ed6e2b1a83cfd77243f6744",
"testharness"
],
"paint-timing/first-image-child.html": [
- "0622ddef96b5762b08e647515f89c9525e11ac26",
+ "9851800a7bd75d7a6791557784407445ad3a35ea",
"testharness"
],
"paint-timing/first-paint-bg-color.html": [
- "46efb9e2674b141ce854749be565650341ebb966",
+ "5e863794d41850bc5422b0f759949b25bad63751",
"testharness"
],
"paint-timing/first-paint-only.html": [
- "fb0e75287531ea019c1f986d46481d1616efa993",
+ "ea735a246b3c3c2bf47e0772b0b134c7f3663051",
"testharness"
],
"paint-timing/idlharness.window.js": [
@@ -688949,7 +694877,7 @@
"testharness"
],
"paint-timing/paint-visited.html": [
- "a0734f97acc2cca500f280a58fab69fd8b26c778",
+ "9a5561d5f7f317738d406d45bf371013f5cf3f25",
"testharness"
],
"paint-timing/resources/circle.svg": [
@@ -688969,11 +694897,11 @@
"support"
],
"paint-timing/sibling-painting-first-image.html": [
- "d4197e8a35c444401b0a7dc84f0fc5a279193ca0",
+ "16a6f145db0265b60a10b5f7da9fab9dc97a946a",
"testharness"
],
"paint-timing/supported-paint-type.window.js": [
- "36acf82ca3b646b32977c3d0212a397c6fa8ea09",
+ "c2c3cf5d6dd8786d69e34012eb9453073affffef",
"testharness"
],
"payment-handler/META.yml": [
@@ -689137,7 +695065,7 @@
"support"
],
"payment-method-id/payment-request-ctor-pmi-handling.https.html": [
- "5f888f0389f6c756ede8c3e481ece7bcf8b71ccf",
+ "4ef083ebb4f224363559387bb2f8ee8312fea6a4",
"testharness"
],
"payment-request/META.yml": [
@@ -689145,7 +695073,7 @@
"support"
],
"payment-request/MerchantValidationEvent/complete-method.https.html": [
- "4edfd54f40e4aefd048808967689640d287c7ac7",
+ "36bfdb2160a7c7f71a64ecec07024b700bb1de60",
"testharness"
],
"payment-request/MerchantValidationEvent/constructor.http.html": [
@@ -689153,11 +695081,11 @@
"testharness"
],
"payment-request/MerchantValidationEvent/constructor.https.html": [
- "da30fef00198800f369b0f8bf9dbddb5df425321",
+ "9fdf78ddb3dea4de72e48d1ae5288c0a9f161d68",
"testharness"
],
"payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html": [
- "226fd88ff84ab58baa39da7f0691b18c50b3ff72",
+ "898e1916ca55d600f2b1d106dc23f1804b952bda",
"manual"
],
"payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [
@@ -689177,7 +695105,7 @@
"testharness"
],
"payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html": [
- "243250080bd86cab7706e34af1703877830855c5",
+ "0284de7858003dd00482871fbe31fe3db8ade7a1",
"manual"
],
"payment-request/PaymentRequestUpdateEvent/updateWith-duplicate-shipping-options-manual.https.html": [
@@ -689193,11 +695121,11 @@
"manual"
],
"payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html": [
- "c5737aa8c31e31f5312135d9de84f82277806c50",
+ "fb16de5699aa74e9fb71788e2378df6e21847f12",
"manual"
],
"payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html": [
- "17a4741cdf97bd6dca6716c80a890af283f4a68a",
+ "acc62f5e2ce980ead15e25a70b90ca4e45d56b3f",
"testharness"
],
"payment-request/PaymentValidationErrors/retry-shows-error-member-manual.https.html": [
@@ -689217,11 +695145,11 @@
"manual"
],
"payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html": [
- "48f6d9066328d6de4a26ab42c69a34d822ece2e8",
+ "29d7c6010eceb8361213f62abc5fbe0e102d32a3",
"testharness"
],
"payment-request/allowpaymentrequest/active-document-same-origin.https.html": [
- "bbcc026d5274a139e6e1d325343220b5b7e959df",
+ "9d5d30cdcab61f8de3b36d62b8accb0e0f73b41b",
"testharness"
],
"payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.html": [
@@ -689281,11 +695209,11 @@
"manual"
],
"payment-request/constructor_convert_method_data.https.html": [
- "56866b43a481e738c844537cb9c355e9638a29fa",
+ "f4a9a721d07c91d31d7b5d36471a239e4e7abe0a",
"testharness"
],
"payment-request/historical.https.html": [
- "e681f6486b9bdd46d7420cac15855dc9acaa2ca7",
+ "639bd4004493da4632ce29ce77049982db4faebc",
"testharness"
],
"payment-request/idlharness.https.window.js": [
@@ -689321,15 +695249,15 @@
"testharness"
],
"payment-request/payment-request-constructor.https.html": [
- "99c25d1723459bef569ca9e62ec29e0c889534f6",
+ "43b9588397e5ded391b18cd119e21eba50aa2710",
"testharness"
],
"payment-request/payment-request-ctor-currency-code-checks.https.html": [
- "1641683beb515d5a9d607b1feaaf5344d7556e1e",
+ "8004ff43f838b88675bfa47766107c205f38ad21",
"testharness"
],
"payment-request/payment-request-ctor-pmi-handling.https.html": [
- "5f888f0389f6c756ede8c3e481ece7bcf8b71ccf",
+ "4ef083ebb4f224363559387bb2f8ee8312fea6a4",
"testharness"
],
"payment-request/payment-request-hasenrolledinstrument-method-manual.tentative.https.html": [
@@ -689557,11 +695485,11 @@
"testharness"
],
"performance-timeline/po-observe-type.any.js": [
- "5cdac973becb727d849c2e2c984de483dec73748",
+ "2c0719a8d146882ad317ff2418e89d4e77a2da18",
"testharness"
],
"performance-timeline/po-observe.any.js": [
- "6a673dbe784ed53302c28861871bb7fb2adb06ff",
+ "7d7de376b25ceb1b0c3cd26a4dd27e802b10b155",
"testharness"
],
"performance-timeline/po-observe.html": [
@@ -689877,7 +695805,7 @@
"testharness"
],
"pointerevents/pointerevent_releasepointercapture_invalid_pointerid.html": [
- "824494551671a8a15a6aa2a73a110a65beff0086",
+ "c54e3a7ada636358e8633c6825bd388e638d1791",
"testharness"
],
"pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html": [
@@ -689917,7 +695845,7 @@
"testharness"
],
"pointerevents/pointerevent_setpointercapture_invalid_pointerid.html": [
- "3180ca53f5582b78514d94ccadfdbc1a7c6d84bc",
+ "ada67fa5b7b959015dc0756bb8c11207b4effb9d",
"testharness"
],
"pointerevents/pointerevent_setpointercapture_override_pending_capture_element-manual.html": [
@@ -690237,7 +696165,7 @@
"testharness"
],
"portals/portal-activate-event-constructor.html": [
- "7263b121151f5b1331622c0c7007df49f90b6376",
+ "1931e8fc8652d6f45c9a8909f2b9a2f004ae0fc4",
"testharness"
],
"portals/portal-activate-event.html": [
@@ -690745,19 +696673,19 @@
"manual"
],
"presentation-api/controlling-ua/PresentationConnection_send-manual.https.html": [
- "9bdd0859b1cf6c58e9a50987957641f451adc5dc",
+ "fcc91212e0541257a92cab42585f3bae0e46cec7",
"manual"
],
"presentation-api/controlling-ua/PresentationRequest_error.https.html": [
- "cb22b4368ab05ef2ce2f4a52a2115a16e394980d",
+ "68e0fbcd222fe00ea5a1264716e711a98ee48074",
"testharness"
],
"presentation-api/controlling-ua/PresentationRequest_mixedcontent.https.html": [
- "52a520b748fa647856785afdac32160b7f60c08e",
+ "3b19b9c9bd2e261030f09b8bc85588ff7ee9c8d3",
"testharness"
],
"presentation-api/controlling-ua/PresentationRequest_mixedcontent_multiple.https.html": [
- "862cb45c06f6f1d343e3c41720959e9fdc7c8eec",
+ "e9571224d62492c9b021d7a731e2246d56d74d40",
"testharness"
],
"presentation-api/controlling-ua/PresentationRequest_onconnectionavailable-manual.https.html": [
@@ -690781,7 +696709,7 @@
"support"
],
"presentation-api/controlling-ua/defaultRequest.https.html": [
- "bc07e02748c73cd03eb0f74dbccc244222323fa0",
+ "713cea7f9aebbdc51ba6334afd4c3ce8d2763ad3",
"testharness"
],
"presentation-api/controlling-ua/defaultRequest_success-manual.https.html": [
@@ -690873,7 +696801,7 @@
"manual"
],
"presentation-api/receiving-ua/PresentationConnection_send-manual.https.html": [
- "f600a7fba236a4aa03af21a86f99932eefb0d0bd",
+ "188f7e3fc1b3a40740acd17934bea203c084cef9",
"manual"
],
"presentation-api/receiving-ua/PresentationConnection_terminate-manual.https.html": [
@@ -690965,7 +696893,7 @@
"support"
],
"priority-hints/fetch-api-request.tentative.any.js": [
- "e492d87d4f2fc40555a7b350d9c20fd1de74ffc5",
+ "0c10a3e2f96ecc16f5e96298e7855457c4bd51c2",
"testharness"
],
"priority-hints/img-attr-named-constructor.tentative.html": [
@@ -691196,6 +697124,2858 @@
"f2f7eab4e33858b571344940c67de9b50e18e119",
"support"
],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ "4c3802dae79f69e6c16e6b996d6f7ba62a296a23",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ "d394bd1e4e2d6391d03eb9d627429288ea9dc29e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ "85ca63d1470a18b558e6fff236ac6a064d0b4940",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ "a05223441ae201fe70e51c9438d573698be291d6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ "080260e7d461cd90aefbe53ce33bc06b014f7aec",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ "142fe0c1344d2d161332cc09f3d6ff4b6b4bdd3e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ "68b6b4796d37b9deb85aeb560b56b760a432f3a3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ "95991260cc3f9330debb07b009c61c9d4fc0dc27",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ "143b92c3e942693e0f35358b13e3f29419a9c75a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ "caccf277e487916ea2be504c554e77461b404604",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ "ff2b557f1a58455ecfcd56d8526b437c2dafea28",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ "361752465e15bd9726c050b556d1ac196e6a2c61",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ "b313e1b8cf015a8e1b44a728a505887be5f08cd0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ "2bfdf1f966fecfa8b2cf3d2d47281b47e726bab2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ "15949d8d11f14b3ddb937996542c612ae30b18e1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ "05b2a3d68eba34cca41a37efd6bf71d2b95bee7a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ "c3b6f6c7c7f9707c76f7825032565859f5d90794",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ "e83bf31950db7794494acac2fd71a8ea401b38fc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ "35a96050dc61e4955cf58679b13d3605c143e336",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ "3d04cad1f380598e22ca618c656a4df58f0162e3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ "30577195c98cc139adde5bdfb8800214b329bf93",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ "cf51c1e72a106070611a7e716edbe453669e864d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ "d817ec4dd12976b79a3a002fa7dac18a6fdd9858",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ "72df66720b102ffc56848101c9075679cdee6b16",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ "43761121a3c076d8358e6a55ccc5c31bbb0bc8b6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ "edf6ad13a05c5c7e7cdc7d49c68b604e963bce58",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ "0a3c40a408eefb57844247bda94cf574c6c4673f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ "9d4b569cdf4eac1e259614e6683a4b8079f98bc8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ "42d3078838139cccfed2e507feeaaa52f6e1877b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ "c172ab34c71496fc747ce57541b480fd2f3e97f7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ "211188643b0802b328071146bccbdacdf2cb78f6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ "774fc69efe72c59ad2d0439b1ffb2dfbc9ec76bf",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ "a8590f135b3eaeda0152f875eede2107ec561c1d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ "acb73e754ce83fa83b0fd3ace2054326b466be8d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ "460e2460525d70cacb63d55f68c923b70adb176a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ "2dbf501e7883d238bfb50ed56062aff2ad643135",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ "1eb93554227c4ca789b570664e37bd9c110f48f8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ "f28f6a8c9ecbab04e6286268df52f0c3512b2bed",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ "d052d0452390ce7f04a5b67d4649af7bb85eae2f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ "a21305652928b2e3c5b118ceae3f23ddbe7df0a6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ "9dd49623438c031c4d82dfa8fc2963b9fbedf235",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ "58fb3efe76a188b88cb6f075858c29ca34efa8d9",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ "a351c338b6a186731f2ba833a84808edb29a52ee",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ "0741ca04100eea706072384acc71cbff5ce679d6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ "841e31754225483aa2e0e5f0b1cbed7c022b3f42",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ "69fdbcb10584dda4a4d3221419115b0279631c65",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ "e47f4ff801bf11e11e081f909e4363f7c946dcbc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ "1222252b6a423161b261ac86cd4dbf455122d4ed",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ "4ecc3367b639b7cce310769c99a3f7ffd746444c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ "4f6a3571834a7ffd2b97aec3ca3122f8ad2335eb",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ "395db421847b03364298a7ce04fca1d7e0079053",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ "ec9da8a2a02132f79eb7499ae98a559ffa87f170",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ "79e00866ba6bc75a6f412668b8bbd4e417ddf147",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ "2637d13d36c792017f31815fcd3a6b153a51b0e3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ "3e5b298f86fb960cb4136cacd23b49bfccbbd189",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ "c71ca117226d6afa8aacb1428bad863f3c73cd6d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ "af90b554010a050bbc61bea0d93b414237599118",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ "9cf74fd7e0d4de649fa731cba27f47be01df1992",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ "3f8822828b579ec7254b2583ffbaef9831bd5d3d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ "de626c259d0aa645da56ab7871ad30f582394ca5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ "608802389c84355063eaf32f786b67407cf7b2a0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ "481f3a25060bd9686c2a53b1326465083cb0eac8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ "4914ed183aec2b8fa2f19b1c7b17734889ed2e9c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ "5248a244a400c02ab3a57b2abae7d7e5577413ed",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ "4371218111e9db332c1ee5b6bdafe658d2fcc95a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ "68a6e853aba51c60b6e3f810ca220eb54b93a408",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ "b0ef51f4d74f21e88c5a472dd4030c9956a675b5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ "5bdb3f44dada0be97e7abf0e1d2e4814e9bb34fd",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ "64f40b9ac99ec485e0d416512a222dd8f0b0102d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ "49b21a9aaf9273deffcc06265fe4f80b41272092",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "0e68ad23e60e60577849aae66c6e7c445a002aa5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "d45ec515a50f02e261aa4481bfa654b12a172f0f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "efa73828287306d2e13a1bf186bee5aaa429c205",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "1e17c7be9c6e4b2b350d26c57d26ea464f308703",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "44f55bc82b81971fdb7dd0fde481dfe7bc6a4449",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "11d28f2b7b2b8dbdf3bfedceb6ef5db20e34d34e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "8eb728b6883ee20466817f6c31fb298c2b31c70b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "fb4e67dbce83d94971e3b44620eb2f9c09ef1d0a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "a2f1b18267e0b14832c86f87998f8c81ca9033de",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "d0ebc66aa5f560bba3434e365ab82970ff82558a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "a6a7f916ec3b2072f9d78617837ac2ad5232a937",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "97172fc6af43a3c2dba155f7bc1b8042d9792a56",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "fb5e75f474691b7acf0a2b4109fbfc67d98606dc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "fcc3079d1c0a541180b9c94a9527a292b170dc06",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "d24f65ca2e93c9de1c1ce8dc2d64334ee7afd180",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "b20fac55fada6eee40d46c5a0d78de87ca5b741b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "00624e1b0c3490eeae7ed8e6877351f93917961d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html": [
+ "89c786406871910f1f961bbcfef139766a6da79a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html": [
+ "e23fa374b4668ea14850285bcdc8eb6d8d7635bf",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html": [
+ "4325995f1cb0b8c62369ce209597e2b022fe7f9f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "218bc1ae9c8667cee0d94e7f4331be63225473e5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "f5b8b464b8a45f520a2272420dbb4f31154e9381",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html": [
+ "10227f715433ca3d523ddd9115d2a6b9cf0a8ba5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html": [
+ "70b830df152ec028b5ccf9990bcb84b4d4ff484b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html": [
+ "cc96f816cab693c7df0037b8c9635d474cd1c82e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html": [
+ "c96b1a3bd2b55d0e86ccb7634ed5e36d096edd73",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "32fa5eb0be05d36e3d8c756933058d2c74713e31",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "8a3a657822bc09fc9b92e001d25560526724f116",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ "96195c261f184d488ee49b497495369c3193b843",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ "ea6022df1abba0adc40491249dcfb0e0636e0abe",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html": [
+ "af7c40febec936a90df52d7d4b34b9009a701fcb",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html": [
+ "781a8d446c67cb06b9051a58f8e848bb29308ea6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html": [
+ "f0dc7c38ce1451edb0913e46c6739d4792b830ef",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html": [
+ "683b8b5ca96d11a504e0f4537fe1534b6c8498e1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "edffa0f3aceb67a52d0e47acfa8da406e314932e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "5083fe37990a48f765031b5629fdf9627f8d7f94",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "064e09bd7ec1a3083a4176fc49b9eafee9d644c6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "d31d03a8071858829bdc6db1efe52c7f722d895f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "8f1c4717df9ecc654e192c2a01ed0d3a536cd4b6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "2d8fe73002f959f4ec31a2bc8bb44c3be90f30c9",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "0693a8f3fcb3f79931bb88e52d854a8241f28a46",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "311bd13bf45cc9a1f6406371fabe67c53815da88",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "2249c1a161d18a75ddea77d946b93678a3cce9e4",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "f0544a560113ac6da71523889bdff44b78cae340",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "eb5ed99ebef3430c45a17a9137df458f70f09534",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "2dc5249838490c7fd579da37b3d02f0801a37587",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "d8f11e5abb492c07dae2c7d9987f9a0ed3d980fe",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "77e969c673fac7cd602ef64581d937eb9141baf0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "7ce3088cbdac3a86a68b9980a57ece1b9863b3f3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "d6702e6fe448339bb6cc88da033608aefa058a9a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "ea3e7b68f4484ee28f78eadbb43e35745868771b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ "3d23c2969343611bf390f8446800c80d0d96b115",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ "92dc5c757648e083592c6167badbce85391f225e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ "dcab0bfa8626204c6e82f7bc7c3dc5a2d747159a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ "064250efda3a6058bd33790317da4be4184a8aa2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ "a804d60f9379662ff24d0ae84963dc62823d29b2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ "99e306b5f5f3872accbe55162d45fcda979dd426",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ "db0e25e6c3b513a2dd6a94683bcb20ac78612d65",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ "03f565a69be01f8c4fec80b88a42f7667dade811",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ "726c8d7f140f1cb3e56482d781267a8d4f226b97",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ "a88cb365519b150cec9967ed1772dc9b08f9319c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ "43c875becbc65c1ac4b8fbf64e1daa923cd00a6b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ "a5aacc5bde49189f46075f27067e695482f50009",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ "e8e550e70b5de0335a62e94309967c75540871ae",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ "a975e0afe22c8c91883f88f827524b1c0c5c0162",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ "7b4b354e222e4af3d06a6f3b9c96da8d8a22497d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ "019586e19b8b17dbedffe3564f8edeeb2999d55b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ "83a5347eec7a8f6dfa9b9d62abc09c05bcc1f78f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ "83175ed9536931877326c80fee4fe25fcea59f0b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ "ad0d2ea3aa8f1c9e29ad2b8c00302749ae24e6a3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ "9682e79855da592b709d48e88bad59a47fc332a6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ "4e6c295b183b639d29cd933bf9751d9eea0fcd0c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ "e21471beb3bc4360e56165737c993fcc0e6b729f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ "31a5606e98ddd552b6bb8ac6958bd411d54cdc74",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ "7d8bcd93218d1cc6f28121711b5c5f82298158d0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ "62bdb36df8a3e4c9310b7ac66e76b7995b2e45e5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ "33058b7004cd68d955df588da5b7e53e438bf20d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ "60ade0b6a2a1cccce4c3adda2bf65f02f5dfdeac",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ "c3c99c95461ef5368450fa6cf7f0bfb0416fa03b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ "b94df6fa4386e0e783e67ed634542742fc70e956",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ "8986821f7f2e7a6d0d3a0a5c9e838a790f4f0272",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ "464b20c87ab1be4b381a2df15a28944924739e43",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ "64d312c68e5456b61fceee49a98a42ebf3c022f2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ "a7a0d8b14ae228b2e1712908bc68f71947f0b2b1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ "e34b0f44137b4409b5982fb39440302fc92c1c2c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ "e79090f32fdd418ea9326d889fdc1bddf768089d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ "6a44f60bd6c25f34b6bdbd22a63605731901f367",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ "f5650aee09022aed06ed4b0c59e9e6740c506532",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ "f73d530e1899f87deb8f792f36dfc87f53de22fe",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ "0bb37b4900d40889cdb1ada15668e0bbd9906829",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ "e075d359cf327aba0cd8e5f5c06f2e6f7a3ff655",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ "61350037cc230f8dd02ab0995b9bc8d552049ad0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ "8f596f55e15d0619b6c8a870dfcd442c217df52c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ "658891c390e779ad5dc2c6226fd78e2f1f3da26a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ "a2374195345169fd3f101e031fce50a28764c86c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ "bf2c352f98e86b80200b196ac4ca3d9af628d227",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ "2d0b84962ba285bfc32c2d2c8dc51acd2bf87e98",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ "30177b584db77b73dfb7751d9538c34898cfae8c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ "dacd57f68ecb22bd64f57296ef3c7a080d686156",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ "5f8812e2f432b1009b5f833eeeb1a8f3bea6bba6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ "73dbd33dc70b6e44ef3fe9b50d125ce3a6ee8f16",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ "8ec9770020196a0925e29e96c453724d3c3fcef3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ "047485e38b8cfb28892db7b29ee1f4bc8865bc07",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ "64f10038370fd281e3aff141d74ba93ffd7234e2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ "a23d7d20df618fd2fdd544484c7ae27e893b16f1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ "cef8fdb5e813ee179dcf1cdd82fbf0b3a4b2a518",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ "a3aa1db13f5d18a418175c070ceaed993ee534e2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ "941850e8b6b7399fa782f61e9902a25af1c5a3ed",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ "120efba8c365adbbc4978c99d869c87c93d7b7e1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ "d460510fdc5658c49176b08365b2732da2c0c7de",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ "50cf5378fff2f6acf6db3510352918b8edcc794b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ "956d32a212a9bf18947b45de0062821fd6470c9c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ "036392abd664e40b7b1d6a177f117e48d16df1c7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ "b33893e9336292f2db43865afcaa4086195479a7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ "bdd7631581ffbc84bd5c304f38e664f8d3ae8c69",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ "b4ef622748bfa15fcc260ffe8a09c2c76b617629",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ "b2c8a07785fa7d7b621158045c946ee1e8499a56",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ "8dd5eb8630dd2b0b87deb452969c45f153d29758",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ "96705247c6ecbc6940b84e11cd0c891e73d55def",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ "08b38475ab7c68a9e2c274771ea525831aa20ec0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ "e9f0d4950486c31bab1484c6531966ffb96e20f5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html": [
+ "f88769fd9c0f6978e0444dd35d84280d501843a4",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html": [
+ "a747db8bf19b2f6a74df320479f008d8a862e832",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html": [
+ "6fbdb686a1a4cba4fa0e1d8f42627bae94c00c87",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html": [
+ "a7e3dc518551444aa406bd508c0214974e395aa3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html": [
+ "2a50287c1bb32ff9591aa31ca06976b48d088e8b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html": [
+ "acb2d52a9e09ad3b1c8d71aadb9742c387bbd110",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html": [
+ "8c16c05f1a0af2e03ec60bd06cc464984e3c9cca",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html": [
+ "496d12d647ba6f548f612320180a58582c233089",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html": [
+ "1b0378a367943e73d77d26f92265f585ba300fd3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html": [
+ "00bea0d3a51480a94825505e175dc9cffd35a690",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html": [
+ "ac2686bf311a0554302b904df99fbb0889092bbd",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html": [
+ "0c72b8e9d36a0923f45c9fd582588cae5cad243d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html": [
+ "d6c068b61b8d168a7353f08993e75b8dafd0a707",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html": [
+ "444b3ef22f93b24e2cc1a113b79b3f4f1ff8584e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html": [
+ "4e33ed9551bf6bf312854b8945a8c2fc15adda3a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html": [
+ "d458756330b1e31466742ce816662252c9960392",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ "26b3bfd4d0c38b996211dedf4ca724e3cbe388b7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ "a0ccb1b05a4b90b741aa8a42bbb5e93182e207c8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ "c6445444c0dc1f5113429237098ef3c2bca14849",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ "d1f5a4d16aea2dd9406fd1fc63ca6b22a4720a8f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ "631165464cda870cb5561c893c51afd214094c47",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ "c38aec92be25efb95ae83acdf6e5fdf8f8161f2d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html": [
+ "8dbe6086637901a88591a6691aefcfe9bf8ec275",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html": [
+ "793297d1697d0650734800821c959dec680a4cd9",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html": [
+ "e46888e7dd1ae3d03bb262df6cee378b2c56da67",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html": [
+ "62ce6a414807744e4c20f0f2d3f3350b7cbcdb65",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html": [
+ "6afa660bf9da441fe5a75970abcbb37e77a1a322",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html": [
+ "c32fe9b95d5ade86f1e2a78b71ae353b36af0123",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html": [
+ "e7cbc17b7c169e4ab2ea7143680d4e4c864f9ec0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html": [
+ "7446d6cb7f18d4f587b8d17faa27981ea5383dd7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html": [
+ "1f14c13bc58abd99be093a857e303bef259d304b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html": [
+ "f27f5a9ea8cb556136719475f6034e03088b51eb",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html": [
+ "3fc281e8deb3412f0bf566e67cb1042da83cb605",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html": [
+ "1343e9370ecb4e45795395127e38d5d2a7d77b9b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html": [
+ "aa5a4dda5b0de8bb3db1b424a57060539a4862ae",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html": [
+ "16d6b375c4f3744195181f5b6502e75be9069011",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html": [
+ "d9c21291c9e930663e0790f7d0ef286ed6d61f46",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html": [
+ "f383932ad528165289c0a80c24900e61375ebf56",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html": [
+ "7f0a7900e03b348626c71a5757d8b296eecc6321",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html": [
+ "afef1ce00fbde5556623c788b36435656cb3bc79",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html": [
+ "e0fbedab98315db00c5fac82d9ea545c6fe4043f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html": [
+ "f737d136298086a08d0c152d378270f440f244ed",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html": [
+ "9d94546fe02d7a0bb9c827e88fe8a471234d8960",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html": [
+ "f73a67d4030a7f2f9ffa037a4cbd4fb7527f3911",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html": [
+ "e5329556d40555efff9c6bc1fbd36e3f1caea5cc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html": [
+ "424154f44e60f8b8b38eec377e01307de0083a99",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html": [
+ "1e0fe60c46c900db52df08b0bd39928fcfc242fc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html": [
+ "b1c1b2c78921dbeafcb368deeb1ba0e57f8c0a67",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html": [
+ "c6d6679ef334fe5834d6a0944077ccaa6f500559",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html": [
+ "0ec1d0588595d0878bd6f12f66c9f6a63e8e1d27",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html": [
+ "1b5110c28cff65a751da9819b5c51ac84d1d245c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html": [
+ "43e2070ea66e17fee67d781b374bbe8183fc4d52",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ "c82ebd1769bbdefdc8b1ffb1da8d319b0c557983",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ "79c204fee0a06af19c1ceb046807e6c9f4050704",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html": [
+ "d7f31ea497a922c6bcef93194f4b46a86a7cec97",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html": [
+ "522877903c5f15c29e859c0eeb4ecc71a97d7ea3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html": [
+ "5dc0587fc0a379f1e1c4e0b663883c81267c79d2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html": [
+ "34fa9f77036447725377d78af862089d540eb377",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html": [
+ "0de1d990786b64403bd7d79f6d7d3699f1811f16",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html": [
+ "ed256fe53d2fbbe0d2d567c70d33fb0c0a2bf2c1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html": [
+ "1a93d1fce387b5d2e6cf6c0b23556b86b2249cf8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html": [
+ "25f197009e65363588c9d8fa9c1aaca79f380adc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html": [
+ "54c3a070d6180028dfc6731de40f8a7c35fe48b1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html": [
+ "346d4c1ea2aea8054dfc4d55f3ff696dfb39204a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html": [
+ "15e1b94c00d6c9c87d24c055711bbba97a963a36",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html": [
+ "4f7ed37e7b293158e318520ec954b7c14bbb981e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html": [
+ "7fa22ec13e428f8980eb3862ad7a551634d49d06",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html": [
+ "c16b91a511ae074324dde71eed029f4dc56fb31e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html": [
+ "66b00c803854acd9993b0516d57284dee3b41bb8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html": [
+ "536a94590b32476becc9b56d42c397d41e770815",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ "7ef3918a8ef5cde799b985a632c5424468e55bfe",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ "5b1bf55d659b9fafb896d02c51a60f6ffe01487e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ "7c8843bea8ead762bd5982c542870b483e68d8d0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ "caa7bc3b5c1fd08e19eb871c869bda1db3d4dd65",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ "6e6134809d11f68e5c8c9d8cadd39adb005ad0ec",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ "71c7443ee516dd955cee3aeb3d4e19c135f1512f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ "b50c96be0e7977e87be2f79a60a082325cefa3a5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ "986de2112fd3a8e7542d05984e18930ead3b2339",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ "c6fe553114aeca920f4da3ba24811720581fdbda",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ "4cbd4308984179212ec9ae0598e1b93ceb829a74",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ "4bbc0305cc93dcf1b79fe8a3e8a04245de95cbcc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ "d3c1792b804e0334e019d2a7f5b6a04ea20eca26",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ "a91366efb77238fb125aae5e6b4fc0f03bc952ae",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ "00f9d4ff0543054125f1ce04a3ed42a776987b1e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ "44c7e6efbc05ea6be5d20a0e3126b057885537ae",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ "ff30b9ecf79fd6feb5d04af23c43fae0958cc00b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ "775025d2bf3453ef665ddd0c0b28189d2a852f74",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ "6eb042c6581377aee95a4ddfe10ac9deb8d625b8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ "5fe6c8be51ce32b97e7133bca70e534e0f7cc13d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ "00020010b83da90a314f35894c5e594b706b81f8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ "47540313d0b99b06de8085ea0deb3cf7b0456b97",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ "56552a05ade31ef56831a5b07cab26a6273c4a04",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ "59fd3b6e252be54caa6776d2ee0e124aad37a67d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ "0ed6e096dc806e5dddbe0acec51989afeb9e311a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ "6d9de995d8d463fe3da5611cd3edbc8edf3c5ec1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ "b0e2201884d6738f0a34299a5c669fb3de779d78",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ "c782e4c7e0b0441c3015c02b3daae272a8c178a4",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ "fdd5ecf8f806f997690f8a8934f6690c95fac7ec",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ "73566bf3649db00931b133799443871a46d11860",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ "1417dc92468ea847ddaee21b57e5dcf605b45006",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ "76ba3f840561c843c993a96e6fb7e61a1992fd8c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ "7b9302e4f8944085133018129b5b7de5a04d0544",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ "2de8c8cb1df20c10a3e1dc57b1b75ae1f6e3fbcc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ "5ab7aacd9bfea10aeb58c941142bb59064954bc7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ "94899b0eef8a795b39729acfe5b3185b573c1589",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ "2ca30553142302726aae7c0fd9b3b5f212512063",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ "79b0e7039dbc2f6b63b32c81f9b045234a1ca99c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ "ad3eb19f8c1abc8e12d2bdc71ac91527872f00f2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ "4e8730f41802f628b578a3494ab4e5b6413d6c04",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ "647a7726178ea76f58e51205cf6ae1f070003a90",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ "12625ee696fd9b53cace33c09a4646856228791d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ "b8c9c4a0683071227d47cc115c05080098934721",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ "99e234cb77a883f4f8f08430804236dd1b744ca0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ "1de1d44ae49b8f28bfbf68336dbe37486827b1ea",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ "19da7b57a4e6abca3c86b23a5c80712100d958e8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ "d8ff85a0dc69ced9542287708c3379d9a3e8e9ab",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ "1ee7b80a5e604c534137f63f0e4614ae6b59d65d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ "3022b6479d19aeaca7601811a5b6ceea738456c5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ "b9cf476c07fbdfe9a142a98c7c4732cb95066e3c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ "36c43b36d7ae9b349b4351d52f58277ed4c2979d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ "a6bb6f1e47748870add2db1cc9d9fc6f90231115",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ "e91453265847bc2cbd1c0a656555cf61a46586bb",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ "c51267686eb2f399b1721f6f6e383249cefb4c51",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ "793c4a90bcfe4ecac026fe7068912e2c746c3e04",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ "5e7abe84be189874f1f80bf4bc5f9b53c7500693",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ "5eea8def59332f51ca613c38c56a30622d5c968f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ "6bd1a59d7154a0b4b4b9367481d5f4e22e7fb18a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ "dee29c95da160621f44df36d8c11cf7e5e41a280",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ "b4129f05115ebb977312d239f783d7d70edefa7e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ "af904eec692cdd80dd0ed63d6cb582b1c8c79147",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ "9d2464d73eaf59c1e0ea80bdb68207dd20faf9c1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ "52c65b0df419c27c151506598376f55de68b33f7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ "8f326c129774c2e02aa635c51ebd2ec4f8ddf5bd",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ "eeacfc724034a5fffaaf56c487976bbd8dad8201",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ "629f0b1e4325ee8f62cadc6bf2762ba183be6c44",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ "0f195ad8458770ceb0ebc4eba9dfaa5876028f54",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ "3aef44d2db0da7c6518c0f6baa2301821fdc3faf",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ "02b9018cf8767651054b96f7f9ac8105d93b50d8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ "de558ff53a1d4d771792d9b7307fa2551e844c9e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ "5b86e03f24ae745530083a31ede4931dfe53822e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "a04ef6cafd73c752735f5251ead8461892a57c74",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "837cc3dbc06b20872c94057d44a10eb6fe26e5cd",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "b39a5057e8096b0420d5add0f51708a86771401c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "ee7241a12c924cd783142b68addf52a057a77fee",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "77028a538b542d0d157f785c625479a350317ea8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "8ae44989ba5551afd16f2c7673107d03d54bc5a6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "7f2c372b0e1969b99e1edcfb5ff3b68f818357ea",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "d430552bc44ca03a8dd64334e1b24f2f33e5ed9f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "20b7dd54bff4e75888182e0d6ab3c54a96c2ae67",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "475a0bc5a3486ee749535a577e1a01be062ec4b7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "17ab76a033bdcb86f5ddbada68b3105ae668532b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "b8d754a7c522dd1b8c635e2bb50feb831f87e997",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "fd82790469e69c441354408cafe0b377d71894a6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "f51a49eaea343a4cdf429af6b56bc71a13878fa7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "903caf9ab99c4f9d3079d445c65c7e428efe386f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "408d57c2050b20688314a4df800ea6e6d9bfc9e0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "fcc2d6ae89473723b948fb885346c2b23f262216",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html": [
+ "437779cb3ae14aabf72e691a7ff2a9f33734401f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html": [
+ "08b5b0661eced3ca86cb6f83a6e4261bd7d2100d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html": [
+ "ccf400275a25c71617ed53a83d7d6e427aa57bc7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "c687779eceb18e5dad8ae322e05534c39201de44",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "3bee5c4875f759270d1db1405ed3a527c9a6eaf0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html": [
+ "380a4a716a917e5c607d9304ccdf17ec147f401b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html": [
+ "e0f8eff6a540275f1eb722e0904faddbb8a05e4e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html": [
+ "1b7606dcb224670391a9bfc62af134748e598c47",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html": [
+ "fc229db65259ab6a905e9bc178a0f97a861b7698",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "515f07ea0e97210899c136824a04119e9f2e367e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "efa5245864cb5d6bbfd12e9afa11bbc351f97b9c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ "03a0fcb679e2cbfad5d5c4984110de1831b71b0d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ "9e19c534df9ff12884383b3f921c8092d7aac41f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html": [
+ "24ce029049ac1e9cc27b5e3aa4f21707d6c553be",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html": [
+ "66ac7130d25884787e3bde75c44aa6e8cfe68d98",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html": [
+ "3f68452cf7375cccf4268f6904070e8a34ec75e6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html": [
+ "1ac53f3c3b906e2d811ff5e52f92f6b2c71cc3dc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "9dfdd01c4f8d2db01f108ec666126ec342b0570f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "e86f4558a226a04b57ba63ada68b8af43fa7dbff",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "74fe3da8fdcc22b211c27f0731961e162b271596",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "814ee1f816b59e140babb3731eb6a5ef843eeeff",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "86288171f405c499a5f2f9dc59956ddd96745657",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "0b3c05150091876d63aac9f8a528fdbab6e0b5e1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "060341416a2630762537cd300062e410a82459f0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "ff5c12b1d886cf83d01309cd747e6453b2d8dc29",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "c3e0c85db0e772ef14261eeaabe50f19e08ff00b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "475118b602c63b836b0b063b5e4b1b2451f653ee",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "8ffdffb5074e159fa008a5de2f14053c2c1158c8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "e62460cf05c807f50a4edce0a1ad1c00d14890e7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "0f602308263f29b1b25465e46c4103982eea9111",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "28d8587959846069a569440e16cafbcf8d6292df",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "c865d14f103d250a190bc4b475afad7206ffe177",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "3e5a447151958a7acc0cbeb539940b966b2fba95",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "cd3fa41ec7cf55aed65cb12ffca6d044b9c4254f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ "e5151b0cef169b48b03acb343d05aabde3e143a9",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ "26e1ad11e8c543ef7dded57066a51b977bf81e16",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ "3beb9397b53fc54b7c8c9f2efc20104901830eda",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ "704a84ccae29686a6e90c7b658b4cd4b7d968d41",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ "5ed3aee5ecc41b39e8ec292af956eeb5f4ad8ac1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ "1101eb09b351632217b79946e11e722e4e36885e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ "6a5fb25d4276e3c544ede7e490ca999cead1de3e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ "e7c2e37a22ca7779b9339c3d768df7461d56d510",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ "09f961930aa404e286112e276f2fd839c1fe9039",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ "57b2a1b801a38873d3c5ad949ea7c00544518905",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ "620a3ee07afe496b67b58f31c2bd17848fb031a7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ "ef8f517d3f7e1d4cb42d966418fb396753de2852",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ "b56e6763a9e978b7798743a85276992a75c74e49",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ "112dc5a5c8f0778fbf811bf25a8f9f808e6f5561",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ "1ec5d4200f015abc274b035efcdd2053b48fc30f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ "57fa649afa344dc9acec5aa4085857154abe0218",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ "734d2254f88dcb20675145ec2b6c51550093502d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ "9082bf4ccf4ffbc1ffe22f86fbd82e74e743ab8a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ "9b76a680e899ba03722855e8f913a359076e910f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ "75a991a04fa5a6e1453fdec10da03a7455346b20",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ "c25c3defc4335714e6b857f871bea01a01f37d2f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ "701f2d73bcdc6da179c6d7950bf0a2b96cde3d1d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ "d290db53f7965b8b6d425fe3bdcb5878ce49bb51",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ "3a7120351b6f18da66a26723650cb0f631b6c709",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ "3e85f68d7135e73197c57f63cb3236b21f5a36cf",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ "34484fdf417ccd65e420a95d568e64eac7ce0cdb",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ "f59b0b40090b03a2e0c6a3be5eb387e9bddafcde",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ "01eec1bee2ae95ce5d2c47662f72762e5f2e7a55",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ "c221f6f7ac4b0fefb42d250b219d66de3730310c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ "a9aa1d823999d2000b3c55ccf70858e491ed112e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ "581e7ce0b9c4c9254c2bb870f97ccf080d428405",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ "4d5613013c0e42c69f0d9c57a683e33161d504a4",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ "b45eb6e9cee14dbb831f3b1b5dc907b8193a2a5a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ "eee2437ca18797fd65326a2d4e832b9268da7b03",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ "f29bb36f18e4fe0e318a130aff67f32e6ce079fb",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ "c8969f1d778ce917341babfd09786096633ce8b7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ "5d9bc6944d9ec62b86f122b7758c7bdb2dfe847c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ "dc3a34ce57c3445f35ca96afeca3256104c0c32b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ "7406e3f96c17c60e3aea1e3bd25a83d910fe7690",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ "d8256f74b3e747272ae16b0dd2cadc851d98f293",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ "be2c3ca9b289dbb2aad547d71914d684b3bc3093",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ "0bc9282b76a8aa8a2b1e45133d951de46ee4ae70",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ "490821d67af275ab8a25e9e359757af1850d2ed1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ "bddaefc4a98294fd75fa1368defba956d4b8aa85",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ "b4d36fa58741924b3cd67477b204860237162570",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ "b4f501fbbebba7eb0e235d36b810f6fa9447f09d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ "cb62336353768983da2544bc697d1b2ac938f3c6",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ "c382dadaa45a706339b885c66b9785a8c112fa24",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ "597dd7ef2e17f4c60b8f842a91c9da03deacc2a7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ "c879e8229928a36421b9719f33f6c9228ef78ab0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ "56225dbc3af0931876b9e7b927ff125b1d8f2ff5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ "c1fb0addb6e9ceeb949c55c015b99ab5fd57ee79",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ "a18c4e6371e159a42486a119b114838d0249ff37",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ "207b7fd9638c7cce759db5eb86d8cab4658e733c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ "d3e4aeeaad2f8c9962d045f5e87c280aadeeb846",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ "b018ba12e8f1a2ee1709db7ed404e9f1dec6e797",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ "1b8bd3581ad4f3ca6c0cb9d1cdf151aaf1b3248b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ "8d6a0159bfee773c443a96e637cb554f8b0b9d2f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ "93799cad263637f55d8e2dda6bd0969365d6d33e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ "4eeff108866e92674b87037a2e05c53ccef39b26",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ "833ccfeda0458acdcc958445919cf8ed84341943",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ "85d74f6f12a6df793a9482d06b0003b5c0f48cc9",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ "84662c7139e86910c58034cc6b07015df10576f9",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ "783a4281312483753dc9636c2999c520bd1157d5",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ "bcb3912c4eeca0e9a46cf30dd61ff9e7736d88f3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ "915430e2bf01b65e947589c84de7b348acfabd3a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ "06e2040989fdb40086b49db4585a61aa1f462e85",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ "4c448982ae0702e42863b107121ec9f56ec1f162",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ "470a1fed5dd769946eebe7f5e9c9a67c2a3761a3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ "c69cc65b24fc9717a8a4c5413bc76020268a3fbf",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html": [
+ "f88769fd9c0f6978e0444dd35d84280d501843a4",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html": [
+ "a747db8bf19b2f6a74df320479f008d8a862e832",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html": [
+ "6fbdb686a1a4cba4fa0e1d8f42627bae94c00c87",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html": [
+ "a7e3dc518551444aa406bd508c0214974e395aa3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html": [
+ "2a50287c1bb32ff9591aa31ca06976b48d088e8b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html": [
+ "acb2d52a9e09ad3b1c8d71aadb9742c387bbd110",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html": [
+ "8c16c05f1a0af2e03ec60bd06cc464984e3c9cca",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html": [
+ "496d12d647ba6f548f612320180a58582c233089",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html": [
+ "1b0378a367943e73d77d26f92265f585ba300fd3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html": [
+ "00bea0d3a51480a94825505e175dc9cffd35a690",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html": [
+ "ac2686bf311a0554302b904df99fbb0889092bbd",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html": [
+ "0c72b8e9d36a0923f45c9fd582588cae5cad243d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html": [
+ "d6c068b61b8d168a7353f08993e75b8dafd0a707",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html": [
+ "444b3ef22f93b24e2cc1a113b79b3f4f1ff8584e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html": [
+ "4e33ed9551bf6bf312854b8945a8c2fc15adda3a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html": [
+ "d458756330b1e31466742ce816662252c9960392",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ "26b3bfd4d0c38b996211dedf4ca724e3cbe388b7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ "a0ccb1b05a4b90b741aa8a42bbb5e93182e207c8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ "c6445444c0dc1f5113429237098ef3c2bca14849",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ "d1f5a4d16aea2dd9406fd1fc63ca6b22a4720a8f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ "631165464cda870cb5561c893c51afd214094c47",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ "c38aec92be25efb95ae83acdf6e5fdf8f8161f2d",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html": [
+ "8dbe6086637901a88591a6691aefcfe9bf8ec275",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html": [
+ "793297d1697d0650734800821c959dec680a4cd9",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html": [
+ "e46888e7dd1ae3d03bb262df6cee378b2c56da67",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html": [
+ "62ce6a414807744e4c20f0f2d3f3350b7cbcdb65",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html": [
+ "6afa660bf9da441fe5a75970abcbb37e77a1a322",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html": [
+ "c32fe9b95d5ade86f1e2a78b71ae353b36af0123",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html": [
+ "e7cbc17b7c169e4ab2ea7143680d4e4c864f9ec0",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html": [
+ "7446d6cb7f18d4f587b8d17faa27981ea5383dd7",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html": [
+ "1f14c13bc58abd99be093a857e303bef259d304b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html": [
+ "f27f5a9ea8cb556136719475f6034e03088b51eb",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html": [
+ "3fc281e8deb3412f0bf566e67cb1042da83cb605",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html": [
+ "1343e9370ecb4e45795395127e38d5d2a7d77b9b",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html": [
+ "aa5a4dda5b0de8bb3db1b424a57060539a4862ae",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html": [
+ "16d6b375c4f3744195181f5b6502e75be9069011",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html": [
+ "d9c21291c9e930663e0790f7d0ef286ed6d61f46",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html": [
+ "f383932ad528165289c0a80c24900e61375ebf56",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html": [
+ "7f0a7900e03b348626c71a5757d8b296eecc6321",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html": [
+ "afef1ce00fbde5556623c788b36435656cb3bc79",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html": [
+ "e0fbedab98315db00c5fac82d9ea545c6fe4043f",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html": [
+ "f737d136298086a08d0c152d378270f440f244ed",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html": [
+ "9d94546fe02d7a0bb9c827e88fe8a471234d8960",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html": [
+ "f73a67d4030a7f2f9ffa037a4cbd4fb7527f3911",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html": [
+ "e5329556d40555efff9c6bc1fbd36e3f1caea5cc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html": [
+ "424154f44e60f8b8b38eec377e01307de0083a99",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html": [
+ "1e0fe60c46c900db52df08b0bd39928fcfc242fc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html": [
+ "b1c1b2c78921dbeafcb368deeb1ba0e57f8c0a67",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html": [
+ "c6d6679ef334fe5834d6a0944077ccaa6f500559",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html": [
+ "0ec1d0588595d0878bd6f12f66c9f6a63e8e1d27",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html": [
+ "1b5110c28cff65a751da9819b5c51ac84d1d245c",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html": [
+ "43e2070ea66e17fee67d781b374bbe8183fc4d52",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ "c82ebd1769bbdefdc8b1ffb1da8d319b0c557983",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ "79c204fee0a06af19c1ceb046807e6c9f4050704",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html": [
+ "d7f31ea497a922c6bcef93194f4b46a86a7cec97",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html": [
+ "522877903c5f15c29e859c0eeb4ecc71a97d7ea3",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html": [
+ "5dc0587fc0a379f1e1c4e0b663883c81267c79d2",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html": [
+ "34fa9f77036447725377d78af862089d540eb377",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html": [
+ "0de1d990786b64403bd7d79f6d7d3699f1811f16",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html": [
+ "ed256fe53d2fbbe0d2d567c70d33fb0c0a2bf2c1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html": [
+ "1a93d1fce387b5d2e6cf6c0b23556b86b2249cf8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html": [
+ "25f197009e65363588c9d8fa9c1aaca79f380adc",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html": [
+ "54c3a070d6180028dfc6731de40f8a7c35fe48b1",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html": [
+ "346d4c1ea2aea8054dfc4d55f3ff696dfb39204a",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html": [
+ "15e1b94c00d6c9c87d24c055711bbba97a963a36",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html": [
+ "4f7ed37e7b293158e318520ec954b7c14bbb981e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html": [
+ "7fa22ec13e428f8980eb3862ad7a551634d49d06",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html": [
+ "c16b91a511ae074324dde71eed029f4dc56fb31e",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html": [
+ "66b00c803854acd9993b0516d57284dee3b41bb8",
+ "testharness"
+ ],
+ "referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html": [
+ "536a94590b32476becc9b56d42c397d41e770815",
+ "testharness"
+ ],
"referrer-policy/4K+1/generic/spec_json.js": [
"39cd997338e4c9e235d30097d970daeff5f1f19b",
"support"
@@ -691208,6 +699988,2858 @@
"5dc2085c62fa48787d4c16da422e3551eb844630",
"support"
],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ "54160250a641f6e480ea3adfc9b795ec2f59afad",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ "a14fab1396f2807021f03bbc8ca723a852d82876",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ "853e3ecd98f57a09a6eda2e11c228ee6ced43a6f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ "f296d012d82e04f1d9fcff443aa0ff385f590b1e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ "2d3b451e43eb62a8359ba79a8bac0b7fa31131bf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ "30a0ee652cdceec890fe076299551c3e3e997dcb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ "8576b77ec6b4a62c0cc21e8ab9fcf82274b8f040",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ "7e4f30fc2e8c64a7f0b6b0a038d06981f1a3ea2f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ "dcce9ea64ad4912cda10be218d62b5aa407d9994",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ "a2b413197ba3495d4d624affebafdf2d4809011e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ "74ed4c622f3a239ce4612f9888475cfbcdb759c7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ "8f19bf48229bd82275ead64e49e5577abb79463d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ "c6591c90407778607bbf70369a5b1ec57bcb24c8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ "b3ae03548439d3679daf73fe1863858fb2c75a40",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ "ca967c585c9aeafe43d8fe5f824a7e7bd81dcd2c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ "7a620541464370f8f96be939bee2046a26d0172a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ "806fab6c61dcd091d6c0818f92c49718ec0cf3ec",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ "f71d39ca0698b7c94c13b0972ca59e924b177895",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ "978ac1d7fac40ee35f43ae80ad4fa739093f3dd5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ "c9db3acde9c7fe0c0e93d558cfed49c605d85b58",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ "3decd3a67f4e1735e8a7bcd7c710b686b3c53922",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ "9277073bbab5614fa9a982d8c6618b8b1282231e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ "912e6135da6cf662229f156cbf32b7d7e9c57e3c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ "9e09c25bde8ac891d618d89f40514a333f7434ab",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ "b2c36993e9f012d93389283932d5ff7b06debad8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ "36c37a40fea798d655d18c438de89f623749fdc9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ "b994dde1720a9734bc51bd898bf64150bf53f083",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ "5da33c6f1f3a52ae54325a75a682d7d4b6193290",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ "efa5d3118f109147e560763729c45fb6c4d83533",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ "3787093e5bd8505b1cef6890c71ce8a7000c4c15",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ "d6c6c6b6d5457fe08e413c494657dd86d392a8d1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ "5226e583a55e550b40ee4ff9d6f04df7a66ae88d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ "e7420da5a18fcb69392aa7d7548965835ba29628",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ "95816eb2034cc0c033f37a7828ef2c88e677cabe",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ "8fa1801dbc154e998170c148584a087fd4554667",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ "f268a6ed6ebee3bb42b2b2347b19216aa968100b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ "f5d1eed210657c6fed5c0e053040ee7aa9dacfc0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ "a9df49d87564de6cf23fea86ae4ed5fbfc4d246b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ "87c7b14bad34da3ad61d455a96a891267f6ea8bd",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ "21c9f250b51618041f564babe930df07304b1712",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ "1009f359e873fb521df4b7c79b008857355c0fd1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ "bdebaeee48f3e65ec11c7d29249c6d0b18712bf0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ "598bf0aaf23295cbcb7389fe530ef71c292cf543",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ "f2e819ce3688d483f5c2a0cf72e5a24541b68728",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ "b8ddb48fd2150ff3ea80dc80862444969fc679b7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ "4c6aa0e5cab252b490e66a8c9ea7b36aa2efca98",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ "8c499d35c7b8b075e9b779b6e098b342ea312690",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ "36692fccdb84d7a711da31f469755f8864b8ed38",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ "e8578c365caf6c71c04f6b0aea49d4d7a0fe8310",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ "5d489db7aa640b8b6384250e01cd42e0110d82aa",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ "9ede931dae56cf6e93cf2094462374a35b57b80e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ "9ca994d57eabf52dca139554df5ea2975e12c55e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ "37d2238c09d2c65ce118b3f6a5578b0941e38cfa",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ "3f69bbd21915c59d7f802c707a28ebcdcf9e2c4a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ "43bfecf19dba54a86657b0de749d773a9619ad42",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ "67900f9062e9f7da29fcd3364ddc6c512080ea9d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ "dc43bf414611b8bf2923b7257b6e33c34c284206",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ "32bedff1177a0fceeacf61dc1cdcbd712b35fcac",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ "1fe69c1af2434b4a72a42a589c37987032c333d6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ "90503c86c9abb6e6844398f826d8ce58984415a3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ "dd9e20f0953494656d432d74a7fee458ae435d37",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ "92fd41603e1e57108739a450ca4f17f3f0b62b37",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ "f5d55ebf08c0c628e7b6f8ce99a7ed9389c7bc49",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ "9ca3d898262cc48d98d88c6cf527010c657e8d82",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ "8797d24f9125fbc6dbc493c3c84f4c58ce54a18b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ "a21632865ce85643e1766574769254c20a45c790",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ "f47d931ac09e32f9d1f4bdf415e5ee54edc21946",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ "1cc027e3fcb7310f8523aac51ed464b3d0027418",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ "9577dddc93b9c40b4f9a313055bfb855a462eb1b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ "fc5b92fce9dda98db743bcd64db78f393b4ff5d0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "9a2b056c8c6a91ca63119454f403acd588675a4d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "6f3bb72674a80a1a15e39e810fbf21e7343e1004",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "731c6fce57221fa0995140b1f410fe05f1e77d3b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "1b17f0f9271b5370880529c7502884a8225e7fa2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "f3d121e857ba4d390e03bc4ade1ea010c9c28182",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "5971b59fad22167b8c66b46ab1647982849e7cd6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "055ec8c21222c3be9d09b2453deb9a32f1e4bb03",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "aad5ff4708f162ada70d7d9c97dca1ed136b3c6d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "ce0835daf591a9bc748ed8ea83c0555d614efdc7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "63606746657435754813b8b6282262821238e0ba",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "9c3604a6b96359658cca5ee212f64f8228dd0fee",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "b8933df29fb63f00fa884987a7135efa6773b0c3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "b341ff28b99d8ba056ced5417fc5240c76a1d20e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "d0172cec6bbfbed75995926b6add9a4c3608e50c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "2dfd23da4801f147b9ee8b34f3340e69c9004aca",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "5f01dd0a522c8721449a1a0de69ff291ed1377ba",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "a20fbdef3e1d40bb2cf7f9e23f0d617bc7833b35",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html": [
+ "19f762834d423951ab566e0c936120c2bd9e8f5d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html": [
+ "45b3f76674cf768eb34a3377cbaaf2cf34270e21",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html": [
+ "25794b0bdac85d0ef35772cb49991f0391a70d39",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "4808c92b9a6a4679ae5a501994f81d4961b45dc1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "0fccf00caad96a6f78839bb6d81da9bcd13ef721",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html": [
+ "122f0971a36ba03acd82585e0cb4dc0f6cdef254",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html": [
+ "ce7aa5044861437338ecdebf1df6bc77683e0477",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html": [
+ "4ffafe2c0543e1595dd5247165cb6ad8db742622",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html": [
+ "decf2c40322d933446695c980e91258c68521df3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "2b17369776ba11b8686c97093884099a18632ec0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "c4d44c7d17428fdc99cd9e82c8679584a8a51636",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ "110edf5f8a79a93b325e8800f55e895707572162",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ "39adae23ee21429b2cc049e7dda371d88fb65c02",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html": [
+ "ba6dbd59d6d4987a53f9b1713ebaff40ff491973",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html": [
+ "c3680a1f71c832594374b5918d30a65bee9a08b1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html": [
+ "4073a9177e26fc955e7b40ea2ff8d87a7ab708e0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html": [
+ "963e613a8e58f7dd2ed1e3c10e35d78b067762d8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "c4bcd4811fe76c379aa379886a5f05126c25646a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "202fa0c9a7e4ecba57aaeca8083afecfe92fcd17",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "520f0941e16375e525c92a0565f8659ee9fe0bee",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "00a20bd1fb4198677e88a8bdb3dc6b8792ed7f71",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "ca4dcf7381a0b833f4ee54a9fc63f61aa8c55d7b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "b189fa6326c7af3956edaf4977a8c9df0090a7ed",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "2a8bb2302394bc496d3ce95d6c8fafb575b55c4d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "600ce02bc22333cdf693ab5162ae9ae0fa60e5cf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "824fb33302f45d3ed090a86e0c18648bb3f5ffb5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "4c83fde2e4d336bc114b0f69191ff819443e39b6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "0f3d7878a5dd50d64cce76f8c28c7e42a6da60fa",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "c33c745d3881bbc02f77cd9c8da0cbd42dc5d7d3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "76eb7bd934a89542266ffb380b9cf57731ea222e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "36088e087acf642c6b4d6269c31aeb01146b1482",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "117a77b8e5a0aa89d2ae5181bb85abfdd2735f6b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "0cdb3f1cff7e2cf5123e0549c9ecc83b8ccd0e62",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "ef2c352ca53616a2a8d2e6ccb0187d91fa338dcf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ "fef103ab36f9a388c6ebc29596bce7379f301532",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ "b30e65cef88f2288a90e57076d00638bf544637d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ "c85a4b5a464710626f6a1137754fd6322419624c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ "99db3864a6472cd3dbb7fa8b1532cb69d4fa1fff",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ "4211b11a519771a03133c0acc099e3ead6f3b56c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ "15a90bd77c7f76f46e16165c095b687292d93c79",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ "5dc1482ec09aaafd815fb6bf7b7367b535f985bf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ "f209625f1856bf24ecb5186b40e73728a3e5fc5f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ "0ba5f0d4391e248b87aaf5716f5266257818668a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ "603523ab4669970fc551e81e0b1697948bd9d507",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ "aa2f229a061def3f369efa8a9af66a967b7b4b76",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ "8456a5f131bf3071da9474d3624f5bea06e971bb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ "5c598da13acbd47b45499fecaf74301cb08b801d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ "2027d54604011619f5c3d96beda2c9fa48e95921",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ "764fbf15ecbac5f433c0bd48843b2c0569c43af1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ "410ae2bcd289b6e82b3f0a6d681431057d04f407",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ "0efdd54a34f7d936299a2728b5c11c0ee3007b69",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ "cfb09c1ec0363f2c4cee735f34af2f9ec896654a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ "3b182ea59858e57f58fa4eb9983080f6f1ff9c8b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ "ebe29f74bf0acb1a5d16073f059d4e9478d3c4ca",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ "2659b7b9664bf7527b2e915f4327e48463bd74a5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ "5093dfcb745883bef132eda01c00f595766640b7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ "9d220aecdcf88d6aea7f92aa7800edc28da20633",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ "c80120da25ee214c635483a6ce7670d947ef59e0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ "949beb9f2e573a1c4d9aec2b7cb12bf1f3707344",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ "1562269434fc16c3f5dbe16612a48d91166104fc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ "9a841555d95d16b78467702b76497fade3030e46",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ "7d4eba4c0cfc6a8850f1f3e9ff82ce78c0d43e4e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ "e822bc38e9b831a6543b1603d4991b5cc66ac26c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ "89a356978977198d24c0cf8dd28715acb041258e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ "09043d6bde786fa40c31afa62df564342905da26",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ "4771692b7568d9e67a4526d7d25f2dadd74ede73",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ "f0334b267bc9d7265ee5cee306e7229efdd17e0b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ "5312351dc239cc111ebb4b2263668fa52e175c99",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ "c3c6b2446319d51c36144a41cc92e8acd3a02612",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ "a0d4eadc671ca7eff275ff1dc2f017f095cb9ee7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ "587548d0b69e7d96701ffc528b0efde1ee15198f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ "38d7bf856bcfd06e89fe161bf2bce95599fcb7ab",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ "62b6e24a057dea75d7d427b579440784dd5d3e1c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ "47834e9d522f58fc39d8de921b83327b51ed0513",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ "2afe993bbea0cd8331f5b445f8a47e4998bdd728",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ "11040bba5427417baf97aaf9aee4734e80019dbf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ "c33eb02091aacc5a197349db5445133f5a3da205",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ "9bb1e5bfbdd52118639039393c323f5bf1465de2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ "eae638c67468e6c295397ea7ad2f0fad529fc9d5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ "527328fc980c46debe0527aeed20e58c86ce2dd5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ "6b706c4de123653c3965ee0844a9cfea415d73cb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ "c96c701e38a6a2101997360beb62a34a422a6d50",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ "eb57c2c11cfc2f251eb3f51cdbbbb255e50e5aac",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ "d5aefdb2ad19721955ff7ccbbb3f876d65c05c2f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ "47775c11d5d7211c568f305960ac92c9a1388784",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ "39ae72fa535032985c0e87a71365ed1f841c9671",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ "d2f928e3b9fe86de89f91336b47531e02f5172a2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ "2dfdeb45d836d87b4c6f1d6b709f7eb4875c7885",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ "efa5185ed5f2e67bfd6376a44c245cd482104ffc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ "7bbea8116b604ccd28c9a23f1386b4e78ec10ebf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ "ed68f19bf05e2a2b9a7592739d4bc77938087002",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ "ab6d388f2247a5bcb97aa22f3c0d29662cebee72",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ "40bc6f19d1eac6ffcdf7cbd87bca1a58898e408b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ "75ea4bb8202e976b893750a9335c1275577cbefe",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ "ddc655cd69fdd30872f28bcf87fe0f656211c7dc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ "d140b8bf144e868939549693bd7dbda18c173145",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ "5f9dafe9f7befa4e18261753e08bdb9989c983a1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ "a2be99f9fedb23b14ce4f37d7e964c567dcc273d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ "030d5f10d329e88e8dde99f699609f15f39fb5ff",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ "18500c2f2fa829c653da435bbc88f6f73d4db03b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ "bdbad5ca2b7cd2ecdcd7828dbd8f3386c3fd4d19",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ "b079438febf6ef8bb231aabb03dc46e747c0eaf4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ "b21409a073a57482f81bbc906e7ffac2f645a84b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ "f52736ec73bcf8cca2761159f7fcd15e010593a8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html": [
+ "5643bee8c84dcacbfec590db270fa8974f2f50a8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html": [
+ "929f9a937ae371b7bfcf2b95031e043a165aba9b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html": [
+ "221ad2be6e537956e528c67b49f361fb2fd3c520",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html": [
+ "db0b3e6b74e6b7321a7f0d567a4e9730ad01426b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html": [
+ "44639bdd28af90075d0d984862db2610fb0346c2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html": [
+ "fd93d32cf35cf6a5211e515a1c10fa3bbd1961d0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html": [
+ "89bc43cc723a12c5b1818668a496c52623d9291d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html": [
+ "4ec3d90cda93bcc6ecd5a269f0238034e51cc1df",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html": [
+ "420d76e655403cc127a1481412117bd0e6d3b82e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html": [
+ "8d243e77f6d1183f8c1ea6cc99c18da4ff87a4c8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html": [
+ "1dc719efe5593da47e7dbe49603ece6c6a038871",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html": [
+ "2136d9fcabbbc11ccead669b65fa34ee05c5081d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html": [
+ "0689e03855087f069817f21f84609834cc50ce62",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html": [
+ "4aeaf47723430bad32cc0453c2c613e782d6444a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html": [
+ "5ee203b76fae6769bade02c2ff7191372a3c0a0a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html": [
+ "8c1c8e6b2b4d12b69fca2e982149df7f3800080e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ "0feeb305f722d93ae7e4fbfe9d04bc610dbed5ce",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ "51fb18edfe72121230949ff3f358a024cee061af",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ "364a03ae5529bb784a8714871ebcb227f4757876",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ "dcf6bfbf1c0da5d444e90d03c975fa9492de090f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ "61fe4deebf76e6e222328ce1a6c436cdc65f6894",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ "6c70039b1f466182a17b595c7408e289888a88a7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html": [
+ "a54f711b8f5f1c448b3bd4d1752267d2efe80346",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html": [
+ "25e9320df5c402deba57e43f36eea0a3077f7b2a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html": [
+ "198552217460a79b1604407ee96873896eacdc0f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html": [
+ "c01c5e96eebe7a27057bd8d70f2c67baed213908",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html": [
+ "e8839b93a3123c7c6f72ba8070269eaecc67f4f5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html": [
+ "c3e3a5209dc01b42025fedd22e716e9f679497ea",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html": [
+ "b8c03e924e19c702f4175e548db9702f13acae7b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html": [
+ "7cffff93b689794e0f493401150dc29c73d22199",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html": [
+ "581789cd22ebe312a4ded5a0094f4949017da0ea",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html": [
+ "a7fa4e3d2a0b8e8184936b66b16f6fb6214721d7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html": [
+ "9822fe843426655fd245555e3b035f277d4a29e8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html": [
+ "6b465939df7400c940dad441571981b03ca28383",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html": [
+ "46e82825fb336b8cafae0e45f71b091a72e71b79",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html": [
+ "0756276d9e0a8fcc300a2569952251d23eefee59",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html": [
+ "9f814fa852bb431663ded0df930be9586d8f8cdc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html": [
+ "129e3c560a4d0a7ac2c5fde2261161d4d76ba91a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html": [
+ "af8a97d1184f1cd61a26be60875211d50de1b2e6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html": [
+ "40fa08862803b41955d5355b58f17eb88fef47ca",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html": [
+ "9dfd8683770a17fa70b4d4c7938e751bdd5f520b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html": [
+ "64df30a885892f3adca158dd9fa665c9db66b9f6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html": [
+ "34be694e3faaecd6442f7bf0e7fce32fa07195c9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html": [
+ "a08f1b2191cab619add9a575a3343ba8f39b081a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html": [
+ "6b57a550032cc399c1418ab446f00a99f7508d43",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html": [
+ "f900690ec7f7a77551aed8303632b4edfd046d57",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html": [
+ "7fa850eea50f55cdc5d894e8523b305956bc8a08",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html": [
+ "68f01c719ae05df163455717cfa264d5f039f51c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html": [
+ "dc95dc909b7eb480737b6c38b7a766ffe80fad5b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html": [
+ "1cc91cb6ead2aeaa3e59445bb5e2901f8a0eb256",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html": [
+ "d6809deb530f094afd665e8b6135b2f78ec56f58",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html": [
+ "b78fc7135e4873bd284d610bdaa9f7f8961b4361",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ "c8a46e5d191ba9d332292d02d762c21c050977f2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ "82789e2cde2ded1f459a17ec952802d996cf9095",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html": [
+ "8c84a954c66ccd71ba9859924ad4c9e5bcc7d8e3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html": [
+ "97545736fd9ac7d3cff7028eae72a7c999870c7f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html": [
+ "a6865e346d079fe0dd05a53512cf97b768b88375",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html": [
+ "7ff5670a5c266ef63fa9b6a9b62751e753ecadae",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html": [
+ "2eb093834d68d9592c9f1a352a7aa4e40d073cb4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html": [
+ "3462597c2f1355742879b6650f8a5fc1e5800f8c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html": [
+ "92503762400a3dc776e8aadac650844c62b9f1dd",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html": [
+ "1ae3ec326cf0b67abd23dc9fea52bc8e00fff6b9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html": [
+ "d763c5f63007b53134786a5c777c76c541aa3756",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html": [
+ "3e4776ae7ffa6eb39e7b70b2d203723b58f00cb7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html": [
+ "984888d1dcdbc9f9eaa22483475caea825e1505d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html": [
+ "1012f88acc17ede9aab6e0a0600578a2b55a68bb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html": [
+ "293f3b81485adcaa5a67d0f10b23cbfea0db0aa4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html": [
+ "564e62a6e5d626179cd596788a254b7dc59f4e27",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html": [
+ "7a83e94487d88989925eb7dba6519219ed543a26",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html": [
+ "446cf9824f16f96757272bd1709b4ee217362bb8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ "6635dfc50312156f85fe63759a058b7c2f620c38",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ "e83ae4c76934085dc7af62b14e3c7e031788a97e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ "15d4e795dd77c00f939b42c0512682a44a2ce926",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ "7658b82ec1a193ab7edf4a7b3d70299fe71fdb77",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ "6248d0555e517b47413b2cc3609b9dc95882361f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ "48d5d351b695794a400f2dfdfba7916ecb32c6f4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ "b46c6e3be6724ca80bf88815ff92b60f52ce57ab",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ "12cae73fbac9bb0565e0796322b6c6e29988d2a3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ "ded040b8f10622d21299318c9d07f811d3a794f6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ "587d33bba90e7b4707ad5960a155837f66b85045",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ "d9f2b31903a2c82c6bf82572853fb6e42b6c6498",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ "6deeb1030a2b2f3619745dbadcebe948a9658286",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ "d398f8f0a49c1fe73d85806ae2041901180bc4a8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ "ea6088e2334597bf9afc48dee779ff218ffaf669",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ "dfcf3cf24f13d4e2feb5e1510776e1cc2e940a86",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ "ab490575d22c4ebb49d0943c6988724ee5cedd17",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ "364b47cd599788275135fbb1da0ba2dc4dd7f21a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ "abeafee9eeac4a9b96309b3c572cc9ad24647b6b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ "06cd341aa20f684e9a4721eb447b38e87e640f5a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ "b65273930ff5d61a0d93d177a0660cce396749b7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ "29da61ad2cdb76a11c6ae2597b4220e45484bfbf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ "b5883fc31dd6bc183ce3cace27e8156a1b7970da",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ "8bf24a8b543dde60ea18c97d49486693c84af7ca",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ "5bfca7b23cf05f70b7980270fe5a215328ea114b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ "5e976f19844897fcf1867a9a82c01fb10c789884",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ "238d6a7a703c724492141c0f154f11c3f6bd2e85",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ "42ec3e3321b5e2316be1f65bd8312e9e1cd66cfa",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ "d5ad6f60819ecc4586da5a5aff08a885c51dd684",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ "a8cb418ff69dfb9f758dd99f0fa9d343a7899f8f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ "edc3c13d38b0456188c47b7e5cf65b4fd18117e2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ "2f7f2e4a45af587a89bc3d9ecf2cc88253e2e1b9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ "d5382241de77a065146cc22d9a671ca4ac6b4647",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ "462853088ede9f96adf608022e2186e3c64b404f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ "10ce4ce09d2513254bec9197efcfff3685695ba1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ "eda423471fa4eb2c6bef87ee0423685708e8f9b9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ "a96037073193a5441f72ddadaa362e44ba79e128",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ "07795d238fb3887eb69473696e893b95f61ce8a8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ "85e10c6d5d4d4c8f4ccab1b0dad9d28c9a3ad2a1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ "b212c97aedfe0cd014c93fc4b8d10a12d1826c24",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ "ed9b01814dc2e1728cf30f65d9f76da4c0708829",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ "0fca364bf458606140e0bb2555f50a67293067eb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ "dcde268232674e0f2db09bd26757b90b1a016413",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ "65e4b5309887d33916ff6f291668bdffc8da535f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ "4ccd1f8719b8b30c719b80e098b9b147c832cea8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ "5ea416427ae79e085edc539a1524573ff4518a8f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ "2d750ef7f1f0bcdf074dd6a4a9c6ae947fc00be5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ "f32e1403c92176353ecb47e71c7fa38b087a59a1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ "4245f1c5fbb009b9b92e23afec0cbb66f7367f63",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ "a8b1d9102d52274d95ee9f6227cda7bf258cc1ce",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ "6802465799d8eba057aa2a8a6be892523a17ece3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ "b91241e3350875c813092914ed28f8998df17cee",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ "b3b48ac716734f32227ed1d9c471c3a2825fb487",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ "b962171e6df3b486791829ee665502115aba9015",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ "88c548adf0875e0f6164d55f9b0b9afcb4aefc59",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ "9a29ad47937b7ce998bb0823f7696e3431155508",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ "4f7253c25a8a5f32b2dc22c03b4ec87d54125b6a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ "b3dee8cc5fe89c1fec27c07856141bad6d47bf59",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ "75a14d71a0bb826df7cfeaf4a035f922a1759a05",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ "7c63fcb42ce9317e99c4beeba3f16cb9dfd6d199",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ "c05a4c9c6903d82b0daff2d7240aa8c6f60ea3be",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ "086d5904c0c29a7ce25dda989913f87d0b7dfc82",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ "972017b054c3df4e1ba44df1adc2a84a22426b4a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ "5ef3f2fc609562e395fa8c3bf03ac285df13393a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ "b64c282e4356d9d84aa17926303afb3f242c9a1c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ "1f2512faf748feaa6515cc52b085cac2f56f954f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ "7244d148ee7a69a4cfb36af96f7af01509dd1004",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ "2e692b8f51533561d1d2c8aa30a1bab7176e0976",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ "747e4a39370631c2af34702b5b2ff5d857e46f07",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ "3d83d2305bbe1fbe79e0761c65a5aa41041f4506",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ "2afe68e9280415fdc8bd07040425fb4efb291382",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "a6f537f175e4a1f0b7694960c0bc995572521cb8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "86b2620d90511c9e7f3695d9377e4cec92e7fb75",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "1b6f97649943d1e305cd84a18f88962ddf3b8d97",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "74320c80a8352234a8538ba3c99ec127de475a5c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "27c78b1acd0b7d11ad92989821dc2ec11ca8cdfc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "9e475ea1d5b02972fac1d56ea3b529f61b9bb5ce",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "ea75a2987adaf59a6ca29fc25b0eb431ee0cdb92",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "331c30ea67f6b62895b2bd0688f12c1b63f24e7a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "65920c7a3913b0e6020353955d91003c86f9aa0f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "a4f455943229ff5a9843c21040d683b43748c7de",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "50861fe7082e29a06d06395caa36d522783fafec",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "95a0c8c03c4f2482ffd6a5e209d68f71f0e93f62",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "1adcb1004b73cc53b00afd730e0f0417eec12e4a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "ad9673edb75938230973175d3ddbcd3171e29730",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "d49bf50b465084ed82673b4f7ff6fdf021b106ff",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "269ac8f825a9403fc4e6aa3c9cd23f0a754206bd",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "5f550fdb2fc918b5c54ed84a2ae217036af7b57d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html": [
+ "973e6a05502ef9748f135ba31f9365b884388855",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html": [
+ "07240599c8b9d7f3ff04b3c4de31365215d579c6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html": [
+ "98dd2b22abfee4f8d76f83ff2eb95a33a171df72",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "034c0d499195effc6f18f0850866a53dc2b91cf2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "8506cff81ca58e656b41772dc69597c138c1bedc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html": [
+ "b2d0ccb2ef2934b18a336ff4328281d7f9f7c425",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html": [
+ "f79fb6061335e48bede780d1b01db00666eebba0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html": [
+ "b2c65b916e27ee39daf573178639422695c6e98f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html": [
+ "5db950ef6173e2b73523f039d9b0172c532036d5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "cb0c92eb930387776f1d9982c12e3125e928e122",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "7b4500d2efdffa5be2ab856659677575f93cafe3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ "ad8ce8ada33961e22e20e41f8b76f652080602fc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ "09e04628762e4b9158b04dbbd902ac151b251f8e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html": [
+ "97aa7c0989d2a269eeb6ade1dd654cfef2c8d9f9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html": [
+ "18e2cac2c5b5f3bdd9cef9e4da461e9d84623220",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html": [
+ "c1b01545027a0f8d14790f180f8510b3c28dbd2a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html": [
+ "caa7e1d9e52687f7a0a3d687f1df1cbfbb412b9e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "a3fd164bafe4d567b3a4c33018b5f6363d37055c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "d3b334d3b6b1ab41e086d60a81130e0eff48ba7b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "e1d95b11f72b7f965fbb79f6eebcd3197f75df7f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "49a78b0ccf9932439a9fb78cca1a02b12c52e11a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "ebb61bf712ad4b411941384f85bdc74209f51816",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "d39439883e45f38ad9099f0060766fc6afc1a817",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "bb2467f6754adfa6baa22b68268729f02f3a7b39",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "02b88daec66853937f0a35ef6120ad8f5e9a2e3b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "95424dd40fc657ccec7686653d10f99af3b42912",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "01005e24f33d6c995e51c86a39c7a1e4ed95fff5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "76dda5d824189a1b9e1896a01091e421530a28f6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "5a794cfa43f66b16f4e588d5dda9d67222e5b5c0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "0d8ed7ddf9d27079bbc09e61435e3c07607553b2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "93bcc8f6bb6e5880f5c0242f22f0b383a052b046",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "27a35a92bb56a52bf6fd1a43ceedc6a5173c7cc4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "169b60207557ffcf9484377845341e6c0caf9c3f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "6fe020ccdf3fbf1544b8570cdccdcc43f2a4f687",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ "5e25fbcce64a30a669f3df4d9e277186d3c950ce",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ "db57ebbae4087db5ff44a16b32d6ef31867033d9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ "426f6d11a08ebb0424a2ac519a2bd17de957d72e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ "746c5e0a2f3f7f3f695b2a426d4a2f1eae7d6ca3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ "22c37bfe5e900562ca910cfbbda50f0c176929c0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ "1caf3ee26e8d45cdd552914bc590b524a5658ca4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ "789b1db61941110a7b397a8ee0250f5afde97d4e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ "68f05c5c0b4ed8504c6c11f46d0c853790655860",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ "b16af6a11614c52163058696ca322b2523cefb30",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ "1df1732f9f20aa3cf6ab9959e9d5201ab3572516",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ "5e8f0321d46a4f38db9d6639f1c4241a376bc064",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ "a2a5ee24668d11307ab0219133ee6ba112f14903",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ "a36ce68ecd4e999ea798b3fdb9f6e813bf002313",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ "50cef3fdf4789633f483573f7625a4c3d395a985",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ "64013770f535e9a223ca4bb811d82fcc4415c428",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ "0a7522a60522d2ee0f63e3eb576a30c57e07ab44",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ "f4ecf9e72e31c1901bc5f78130c558a17243768b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ "d27594fb9b603be181f72e796be00ee3165a2020",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ "f78e7b8a688e75e3b6f751075bc9a153437cfbe7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ "7566c575d6d3bd71fc9949deda74c8105a07a8cd",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ "7041e4cd61353439e6a2ef673dc667791567baea",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ "67daf36b9e1c0075b51078475cb497d1bcb56237",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ "ee0a21cdf6546cacefc314a3d3dc72bdb7cc7771",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ "98e6801514c65ba4d5a4311c7e85f576a581b412",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ "e254449c117a2452c98642ef45fbd6ee67513eab",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ "1d98050db431054eea154a7d8768ae87bee596bb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ "cc68d00e624c4af8aa127543bdb3c5c493242231",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ "93ef3c680fe3b729adec328ddaac98c9e5856d35",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ "44a151fa461f121efdf163540c80e41adf0b6bd6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ "7000b2c39f9db141b6aaff60759382958ade6656",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ "a2eead773677b16f99658ea666601b83d8f47dfe",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ "3a891942bb29bf0c1cea109e729c74ca587fb6eb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ "283bd24f9be7ab0d627f99b675a9252ecb46f0c6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ "1f03d22999c08aedc8160c0639f9976a5c71589b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ "3ea9eb9017d540cd6c08cb04d23869c0f5fa612d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ "c22b6f66ccddd2c39280dab68ea148b591fd0406",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ "87c589511998302eaa98a858df9020386c7663e2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ "d557c463572d34bf75abd795779b066a0a3675ad",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ "2d529653f386bb5590d233710937fce5d134023c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ "f75e8e7f20eec9fcc9091fe9aa315afb6dc953a0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ "5105b355bfa431a230edd4145cbbb22386c1c669",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ "1e5417ddda024efca0951468748b855e35961924",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ "82e77718d775d8592fbdb816a3b47c88698cb990",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ "f158ca6ab726e905d7e587b9b1b833826b45581d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ "ffcca16ea74d7de58fc8abf1b3a485ed6ae45dbf",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ "4ef7da52c299551b9277784472a59499e8b3864d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ "c90600de1180bb5307f65c6ccdacac6efa44d37b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ "2229564c4ff2493edf7274c663365d29c3e01c92",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ "d631404582ec4698f54ab82748e5287f45eb6c4e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ "9b9c193387d172a3e051d720142f73d52d30a786",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ "c3184980f1394f5701c11d03ee2acdf9f1d9ffda",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ "22858a5e17938d2187f51ef6fbed97308bb905a7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ "02d815b285de851b2382b403202003ec2061b839",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ "59d0107987ebf2c6cb3c0b3c64428391e38308ec",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ "7611f0c0ccb02382fbbfcd26605f567c5bbfe4ca",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ "62360e290cd28db4cae1195ca05aeeb34ef27efc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ "1f5f6489d3af4ddc044ecd2f1a550465e03d0c39",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ "4f3add3f008e17107d51fdbfda354d4309832524",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ "4dc0e6d514eca55bddcfad5db41620dab9c7b8f1",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ "4dda84412e2009a78f96d6fc01ab82d0c636901d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ "8eac0309834486fbe960f0f9501c4be4c8a0ad9e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ "fd6a3dfc2515bdd1ac7646391964de1f87d9ac16",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ "09c1dfcecdbd65eb34604904b5c4b8e86e52238c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ "5d479a21df68383ce7d9e40018fcf9d10922a366",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ "bfd916d74b0491d1c3596a5d35e299e8f73181f6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ "b86ee7e3856c72475ac9b758c9a00c58ca9fcc73",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ "6ce7c97c7e27f917dbc7353c0e4705940d2caf90",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ "569ba812f8456c43d819f8cf978c812028b2f859",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ "d6c2712a1d2b14e83795f4db1b8edb1d7b7d8168",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ "e6415f4b5eac7a2e67dc5e3c5eb0e04a97cc0f1e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html": [
+ "5643bee8c84dcacbfec590db270fa8974f2f50a8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html": [
+ "929f9a937ae371b7bfcf2b95031e043a165aba9b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html": [
+ "221ad2be6e537956e528c67b49f361fb2fd3c520",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html": [
+ "db0b3e6b74e6b7321a7f0d567a4e9730ad01426b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html": [
+ "44639bdd28af90075d0d984862db2610fb0346c2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html": [
+ "fd93d32cf35cf6a5211e515a1c10fa3bbd1961d0",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html": [
+ "89bc43cc723a12c5b1818668a496c52623d9291d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html": [
+ "4ec3d90cda93bcc6ecd5a269f0238034e51cc1df",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html": [
+ "420d76e655403cc127a1481412117bd0e6d3b82e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html": [
+ "8d243e77f6d1183f8c1ea6cc99c18da4ff87a4c8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html": [
+ "1dc719efe5593da47e7dbe49603ece6c6a038871",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html": [
+ "2136d9fcabbbc11ccead669b65fa34ee05c5081d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html": [
+ "0689e03855087f069817f21f84609834cc50ce62",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html": [
+ "4aeaf47723430bad32cc0453c2c613e782d6444a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html": [
+ "5ee203b76fae6769bade02c2ff7191372a3c0a0a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html": [
+ "8c1c8e6b2b4d12b69fca2e982149df7f3800080e",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ "0feeb305f722d93ae7e4fbfe9d04bc610dbed5ce",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ "51fb18edfe72121230949ff3f358a024cee061af",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ "364a03ae5529bb784a8714871ebcb227f4757876",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ "dcf6bfbf1c0da5d444e90d03c975fa9492de090f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ "61fe4deebf76e6e222328ce1a6c436cdc65f6894",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ "6c70039b1f466182a17b595c7408e289888a88a7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html": [
+ "a54f711b8f5f1c448b3bd4d1752267d2efe80346",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html": [
+ "25e9320df5c402deba57e43f36eea0a3077f7b2a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html": [
+ "198552217460a79b1604407ee96873896eacdc0f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html": [
+ "c01c5e96eebe7a27057bd8d70f2c67baed213908",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html": [
+ "e8839b93a3123c7c6f72ba8070269eaecc67f4f5",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html": [
+ "c3e3a5209dc01b42025fedd22e716e9f679497ea",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html": [
+ "b8c03e924e19c702f4175e548db9702f13acae7b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html": [
+ "7cffff93b689794e0f493401150dc29c73d22199",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html": [
+ "581789cd22ebe312a4ded5a0094f4949017da0ea",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html": [
+ "a7fa4e3d2a0b8e8184936b66b16f6fb6214721d7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html": [
+ "9822fe843426655fd245555e3b035f277d4a29e8",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html": [
+ "6b465939df7400c940dad441571981b03ca28383",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html": [
+ "46e82825fb336b8cafae0e45f71b091a72e71b79",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html": [
+ "0756276d9e0a8fcc300a2569952251d23eefee59",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html": [
+ "9f814fa852bb431663ded0df930be9586d8f8cdc",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html": [
+ "129e3c560a4d0a7ac2c5fde2261161d4d76ba91a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html": [
+ "af8a97d1184f1cd61a26be60875211d50de1b2e6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html": [
+ "40fa08862803b41955d5355b58f17eb88fef47ca",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html": [
+ "9dfd8683770a17fa70b4d4c7938e751bdd5f520b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html": [
+ "64df30a885892f3adca158dd9fa665c9db66b9f6",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html": [
+ "34be694e3faaecd6442f7bf0e7fce32fa07195c9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html": [
+ "a08f1b2191cab619add9a575a3343ba8f39b081a",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html": [
+ "6b57a550032cc399c1418ab446f00a99f7508d43",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html": [
+ "f900690ec7f7a77551aed8303632b4edfd046d57",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html": [
+ "7fa850eea50f55cdc5d894e8523b305956bc8a08",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html": [
+ "68f01c719ae05df163455717cfa264d5f039f51c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html": [
+ "dc95dc909b7eb480737b6c38b7a766ffe80fad5b",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html": [
+ "1cc91cb6ead2aeaa3e59445bb5e2901f8a0eb256",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html": [
+ "d6809deb530f094afd665e8b6135b2f78ec56f58",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html": [
+ "b78fc7135e4873bd284d610bdaa9f7f8961b4361",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ "c8a46e5d191ba9d332292d02d762c21c050977f2",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ "82789e2cde2ded1f459a17ec952802d996cf9095",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html": [
+ "8c84a954c66ccd71ba9859924ad4c9e5bcc7d8e3",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html": [
+ "97545736fd9ac7d3cff7028eae72a7c999870c7f",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html": [
+ "a6865e346d079fe0dd05a53512cf97b768b88375",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html": [
+ "7ff5670a5c266ef63fa9b6a9b62751e753ecadae",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html": [
+ "2eb093834d68d9592c9f1a352a7aa4e40d073cb4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html": [
+ "3462597c2f1355742879b6650f8a5fc1e5800f8c",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html": [
+ "92503762400a3dc776e8aadac650844c62b9f1dd",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html": [
+ "1ae3ec326cf0b67abd23dc9fea52bc8e00fff6b9",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html": [
+ "d763c5f63007b53134786a5c777c76c541aa3756",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html": [
+ "3e4776ae7ffa6eb39e7b70b2d203723b58f00cb7",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html": [
+ "984888d1dcdbc9f9eaa22483475caea825e1505d",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html": [
+ "1012f88acc17ede9aab6e0a0600578a2b55a68bb",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html": [
+ "293f3b81485adcaa5a67d0f10b23cbfea0db0aa4",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html": [
+ "564e62a6e5d626179cd596788a254b7dc59f4e27",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html": [
+ "7a83e94487d88989925eb7dba6519219ed543a26",
+ "testharness"
+ ],
+ "referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html": [
+ "446cf9824f16f96757272bd1709b4ee217362bb8",
+ "testharness"
+ ],
"referrer-policy/4K-1/generic/spec_json.js": [
"39cd997338e4c9e235d30097d970daeff5f1f19b",
"support"
@@ -691220,6 +702852,2858 @@
"5dc2085c62fa48787d4c16da422e3551eb844630",
"support"
],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ "a9fefc5335af633cc749052583b5ba1bf7bc5b2b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ "fe269b591dfd7f61376428d3170b372d2fe0e974",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ "bdab90c3c9350a4c199d5c9e1cb87423cfdbcad5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ "2166f0dde1302eb7b11fa70c90ce368a99fc48e0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ "f2729cbcb52a9dff929c41705025f48788d7a687",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ "a73e9d11a2f5684b18d938295e6559e5da181880",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ "50ece9cadcb21883d074ca28df29a160d64600bd",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ "c955a1fea18f1d583bc317d84005b6aebd6dcfe6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ "f71c3b2c16cdb8ca22327e2bc4ef8bb293f3d7b9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ "882d65711a8da86eea89192e43cd7062c32f4a40",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ "d4f39f9242a7ec2a79a379e31bacc5589274c566",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ "a7b0e7f266d128e064b38e985d7b377a46fd9c17",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ "32c268942da0657b689d96e1d655cab8eddbb4db",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ "8ea4786c41949c85a2ac78ddb181a442acb93abe",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ "735489130603e128714673baab6bf6b3a13df0a6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ "823c727cf7ae0f2899de63a336b62919d827f769",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ "79b9f206b13812a700ecf1b30e14ad7b331f0338",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ "28b0287a6696c577095b801c4f211c33351570c6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ "1d0b258f03a6aed6dad5610677ce51489bbf412b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ "8eccc5675503fcc94f9884eacce44cdc15d2c3dc",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ "dc5b1c64ca895806de628e173ab27ed68d4fe3a3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ "98ff9597c559acc581330613683e7060ad8179b6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ "de37be5b870d300cf1730de2541c31dc04577ba5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ "4d034ab49d405bd4108189d11a3bf99ed6740f98",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ "a65b56492b870cfcb7c163dd43b8a55626982a20",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ "2503c58f6e8ef3624b82f1e1db9cc5488ac53922",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ "d8c793f10a1e2fcc73bb8d4356211f013b1f8df6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ "7ee8f923b26562200d5a00069edf827c0397eeca",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ "e59b8f7e55f2ab9f4ff5a50f0fe941526c87da9d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ "e8c78a21f28589ab0d14b7df3053dab014d1c253",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ "9324cf727db196f2de803e9a11fbe40d8a02ea5f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ "99ce0e996b6fb6f20f5540dbf800911072a520c9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ "8b1306840e5326a5526b0c7e54a1eba3fb6dc7f0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ "18bb216bcc6cf1f739ca0bcf46eb2e832e32e050",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ "e3c20928d7180533b36340f526a7c2ce9f5347a8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ "a78f1b9c0f7d18c0f949c450c0d62f3e0d3ec128",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ "7f9a2bf57b3d2155ad1146047003c45235996067",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ "0027a51ef746f2e4d4dc7b8804c3c5f697b56498",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ "dfdf17ca220cc4bc21051d43a230253c628de41f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ "d84ed7e107ada8431f2ec2773aa9d41a3b27f7c2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ "b2f70707cb3eb162dddccbd92359ba2b61cb4e86",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ "b8c847aec05a26a9a7893c1bc419feca62fb0781",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ "ca13a3b60fffd995a58f2067f783a3c6b69fa54e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ "b48d1202cf7e6a4bb87f87659e131ccc55634e0f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ "132ab1033ffd4a14c4015f5dd0f7a6fa0a50873c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ "dfa840a3516becef62be8f2ae2bf9f94632d84ec",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ "3fe9772e601a83dc68b15c5e0106e13a0a48f337",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ "a260b4b2ebeb5781415a19d87d9cdb2c933f6bf5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ "e8c45deba7f61d1a95d9b2bc46feab70799f4406",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ "1992b36e8589a2024ab7ca425db5b086f1632c66",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ "a0f774640e657f7b0cc667f7491fc75a158347c4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ "2deb7c6b4816c2adfc7e8a9c14a0438b0714f589",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ "2ff9d5f36b1809fef703e0e6f7486588e326d22d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ "4c6a9514b42b14cbe10ef6f9f750a8ad2ff42b2c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ "2a0fc0f623ae23f8363a693836a93b8375cdee40",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ "5e88f7341ed42d82ad96be1a11092086e86ee5c7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ "7d8a4afc069e7cee747e49ecbf700bbb6027f501",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ "c7f60904e180ee2a562cc3cf531878b9b337dcb4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ "fdfb72931fc5eab62c25b9b23176126483a598d1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ "47666106781b4defd16c2e2c8381afad19cd1d09",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ "4f08a622acc911f821ae2c59d04be90224234cdf",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ "436de59cab0fcb6fac0eff285d2d758f9de167db",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ "a8f54c1702b9def80a180ff76d5bc576817c87f1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ "6757257a17bd8b0bb74a2542ffc8249ca806acb6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ "2faa3f2f9bec613309b9f096684fafd9c95aa093",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ "69d15044350b0e77ffe65ecb57111777075c6fd0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ "12959fbf9a02c7c0d454f60176c32e059a786b9b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ "b5183cb38819e1d5d0c5db15383b05080c8767c7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ "ad4a1bcfea27a73b927f7c46f90ee5a65632dd90",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ "1bab6fe776233abe35c16a50bbf450fe360f8720",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers": [
+ "180358e691bd449b825e0c8f199d919dbd90c270",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "7f35dbbacadfab47de6c1f71446db58d4c11bb11",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "98941a44ab35a95cc09531958cba9d534457d5b3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "ad62a678ebdd57eba801b6b6fa5826d9e9ded293",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "866d3b13d38d92c37e7056e5f5ccc598a360d5a2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "bf9f28ec80128417f9a8c9961d1b72846bb01ad4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "773e5c81b5289815f54ba0d99aaa650e85290c06",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "15fe7d07220abff2a9674c156d19623e9b355003",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "9f24d9bde8ac47e0cf0bc91f3e0d2e18cc4cdd2a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "bffff9be0fb81e58fe6add5f0f9bac2ecdd16094",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "b92a16dde62fdb9ac9eaf7770e275f7f7312660d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "cb11dfbefed640a266f1c82b70d6250b867fe8de",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "49182a2c2c2a1575650c05d84b0f53433d132779",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "1e1559eb973418a716da07f82718fd167673f7da",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "05963c2d9f2c743c86dcee6989c1de4af4b84af9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "0e7d536ab26e216cf2e83136b7136f4586016d60",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "ab8585fc56cc740539738b9ab4a8a8b7da7b5089",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "c9511876c9777221affbcec30b07aceb4de3721f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "a15ea7c65c8647c29e5ac992286568aa8dc013f5",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html": [
+ "4d10d3e4396e93dbf74a947ff987c538d79881a2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html": [
+ "c396d388206c92fc6aadf0d0ec492c11fe1991a7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html": [
+ "7f902f70e03461aa42bd8b895e2cfaea530d306a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "34582b4d6dc924e296a50400d837464ed080f29e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "9fce73c9d5845861e9f7926386dad6c9b4df1e25",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html": [
+ "43b06e91563df5253103f5d4930088ef478b0544",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html": [
+ "0b4d5a1baafe13d4a1504f97ca833258f5cf062e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html": [
+ "9a30544bcdf04c1de519cac068c17eba63b72c4f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html": [
+ "da220eb58257437a5539bf175b4876587b39f72f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "3cef1b4b3229dd260c71047746da3a2203c60b27",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "305c63c7a9a04fdb2f5b46ab1247bb2b640b25be",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ "cfafc7166f17c644adb9dc1ba9654bee501978a6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ "2eb778279dcc1afedc6c6054d51974aa33ebb92d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html": [
+ "88d31a55ff47f4203d4588cfcbc2039418fdff57",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html": [
+ "8e987ecf3dcbdfdb55a02ece03af3ac8509edcf7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html": [
+ "6b99399a7bc6e9ca0f4172333f1e08301bffc75f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html": [
+ "e5de56b797bb681dc8506c7c772a902f2c30fb22",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "be66cf9321103b1397670f3acc89cecc09aabec2",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "3635ee6c7aacd71bd49181075b0db8af75d9cb96",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "0645477144fc027e043ba3f7cfef136165fc83e5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "4fdb3e02e2a4ec127220c1533ef9776a48074ade",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "35749e37f9a956b2a1465e793701e7b2d6009e6d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "a5e4575a2949e932c11db6c245bf52ad1785c822",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "179e958d3f15f99ee22ade074fae4609c046720b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "f53ad35d86b1b8a5d13f5c2f9fa082d83f48730f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "4ad7dcfca2ffcda71cda7acb6719bf27fa7c71c6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "a5571e07a5d4a6105b8f3cf37ce491b37bc8d58b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "22eacd003b5dce0bbe2e1702a1b44c5537a7537d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "a29ba3dbd8bbeddb59d8e9b10518f60f798c61e9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "4ab18ec26d336ae75db76c2a1918e633afbf7475",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "a5e08751cec988387ec8038529e7c50bc8eadc70",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "a8babc7eb40aec10d5c8d833089dd07ed1aa5753",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "346654a54ee3cb5a9e59667518344c980c87db6f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "7df84deb40e3a34d0c940aac9dce7ac6738edb95",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "d6490256a0ca31ac390a9386fa00369f38d3f56a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers": [
+ "4cff1d12f82e028f7f1e9616bfb539ffb75b1df1",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ "b49b87c3fa4a4a5ebc5f92be3d6beafdd85a0826",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ "29a1698f1a8e089ef301d70817f1b5cb99acb645",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ "16252eb3e89653ee744fd85ba2053544b95f7042",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ "75e4b8de7065a4ca4884f2c7926d27b30cecab51",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ "9922c8bf40044cf339cabfefdbeec12dd57a147f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ "3e77a7bda28b35fe1d5691947aece2209ae84320",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ "9789b3a8dff9ac099aaf2d39eeb1935eaa18f459",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ "7d00a136314cab6de1b4e9d7d9001df7714f6c98",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ "e5182860dbaf24026fbca9dbf87f005d927292b6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ "2fda3a8680dd2604ee6608ba1ead1de8888215fa",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ "8de62ae9dfae8b5eed58038a765b80f45fe1c8d3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ "bbd7003d9b0c9a9b23c87c373cdf0e678d54a29c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ "6b49c22ffcf18ddec09e5879f338d81218c2b519",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ "8467efcb78bec6ec670d60600cb06541e872e10f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ "b86b55cacde8cf1620f30306466ba2927bfd4de4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ "09fc8694fd2e9daa886a3a705316a80e88592bf8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ "6d2446f7cefad381211310d6b8afc13468ac74b7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ "fa7c97b5773f3eb747ea2bf601abf250eacab6b9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ "864ed4d6f0f36b0dc4e69ae4df427fa567a99981",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ "31857f5b0204562f1428aa52e489422b221379c4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ "807c2ea5c8fad5877f543cf626df56e8443acde9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ "fbd5a0e4e87ea3606d0799c93997956130c3ba19",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ "b55aa725186266866055d1c2103d7485199899dc",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ "7fb7b273d7ad36efc12186dcd61942501f8c94ef",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ "7ef73d70001573f4ec2fce43efface6607fb508a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ "a3282d26e16f964196b0e12d016f14da7fc02c6d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ "d2fd9f3884920046ebee66f3cc2c5fdaaad3bdf5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ "05d5e333652789047d3af01678f2b9e966a6df06",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ "54aec1435f005e5393b940dfd40add6a39334475",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ "734b5e24b4f0136889499c09ce770d891035c070",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ "e66736a1f2ae91d6746ecb9e83380f04b674b449",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ "03351c7007e88a100dfbbd4e1d983ff7c444c436",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ "a870fa6a4c29ed5eef1d057d46691850728df673",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ "3d61543525a871c4ab8c881b70047724e45671ee",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ "6498c9b73b2ef192c7832840e0d908234e87989e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ "98126940adcad13690c126daf17a4a22d2d8bc26",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ "04b442f199f01d7d42041a0e2e92c2daa086a528",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ "04bb78f23850983d2c992d0f61c654b5a71b3f6d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ "05e88291cddb8d26935820016ca0d1b5ca8df870",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ "6cb89d4113e768b2267dbd4a4aa4987fc4b0333d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ "09ba06fe97a4231bf2fc7968917a7824cf7dc07d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ "5ddbbbd0097d35d4b5c1f2333c0134cc8f1a9d8d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ "daa75cd9dd25a2a27d5ef8fdfcf91d38a6e52bb9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ "d0159817d0c12c71084f9a88bd734d155f2a4d08",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ "92fc05e5a5889ca9a3ce6ad5f1bf658cf5bf3675",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ "cd607f7a74dc100c476c9256cb0819ed7a8bd605",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ "508066029a14293579f7f1a684843a8f9bc0e331",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ "fa1d48ed60db34018454e5adf4ff60328e99ed98",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ "b0aef7fcc7c56f43b37548c58763d63706ead90e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ "fb5aab72bda75511d8bdb30b40098fa6fa981469",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ "5975e7432e3779ad3e7809bebcc8d8ce018cab0c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ "45506e97df70be8458a6d68859af2473ace271af",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ "066f65c071563010975c738330e3f3c9264e86f3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ "5fbdf424f7a810491a95f84be7dfbe71bf414638",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ "8dbf224a261f9bb667c743ac065df108a4129be3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ "eabdcb1011c41704d672e6c34937b4ccb3268f7a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ "ea0ff9655d5574a5d2a092e8a9c924186c224cfe",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ "5a99955c352669dee0802e20a27ceef9262641eb",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ "6b136600885d20fea309c073019a25ea25d351fe",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ "a802ecb55f090371ec6f5f34a3d8247bd7e88378",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ "fb18a558fcb2a3e26ad7c6ee3072ded31b437140",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ "44b1ad4136ee11728386bd3ef6e52c892064c241",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ "fb68b2480433f92f820db4f891a24e0279d8261d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ "3f208548366a8b981f682872883c9b63ded6b131",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ "067b74f6883057ccf46da93a3a950bc0a46f699b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ "63e27261cb4c09bde920a805b06673d8cbcb6746",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ "9f2b14305fb8e602576770e387cf4a61600e4460",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ "b92e14939a658e596d7387dacf0c6945695c04ad",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ "16eee27fee34f78abdce2ac57e2e3a2acbbbab96",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ "9e18ad80906edb3a8208b74b8f628ad68646195b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers": [
+ "c1d3fd1a0be2609a6939653a3f4ce6f5036b6286",
+ "support"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html": [
+ "e1b9c071a8f0d47be4190d7aeaadadc7f84068f7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html": [
+ "9df9f18a5402cca2377e23a10b36cfb93233a238",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html": [
+ "b2111079c201ff3d7511d8aa3f51096893b72432",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html": [
+ "c7aa9dc13c30e6354300a8aae2a02e634eefc0e0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html": [
+ "929c4c594d67838a0d477946194f6eb2802a4a55",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html": [
+ "b2fea46787d457d1f0f24a4b430b241fc2d09b36",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html": [
+ "e08868bbb70f823b2cdcc9673632cd916f2df34f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html": [
+ "827a4543138f99155643abc15537c0802133d559",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html": [
+ "ced41a3b59b3a191f57cb6b508562fdc01ba6613",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html": [
+ "ab873760f224a8d3ca0f77abab26e462da62f711",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html": [
+ "47153305f55c119775ca8a8d6db2146cf7e97373",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html": [
+ "76d4705ae5daf194c62a8363888b8e0a34ce5eb5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html": [
+ "c026b45fd061e295b4435f1285c4b6d383e0af00",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html": [
+ "6870f2cfd072d9eceb74c333dd3bdf2bc01598c3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html": [
+ "1a3acf28dffbe052d51ce8d43f8bd62cfd19a575",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html": [
+ "87981d1c661d9790e5f4226527b218dbfaf788e2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ "186d94ba8afc97c85e6c0528d7d7a1257f19e0b4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ "bfe3c149eaeb98bf8fc32bb2d8e4034c8f8f3f74",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ "265b108c984ca2a7291664db6a746653d98a9ec5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ "51fb8801cf2caeaa653ea9dd9e95be094955f677",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ "078b803684089ff2d9529a0bdf25514824a883c7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ "078aef4c736fc4a85a370c387331aa18dd369e3d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html": [
+ "65b6e912cf336bbd55a8e51b4459c1f2c278219e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html": [
+ "7ab79f00ab26e87c076ad5a311cc5ca77bd1a093",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html": [
+ "951b9a76ddfdf607db9afec9a98537ae0dc89c17",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html": [
+ "c2e72a3c54572be7056e9185f256866c97879aee",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html": [
+ "da910c915a7014fa06d0a8c54ce172a04fe2a569",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html": [
+ "be9b5c3979bd3336c3e3d1b2871506955aa3258a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html": [
+ "69bae396965709166af06f1467320afbed05b7d0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html": [
+ "2c800d68d3ca032c0afd1f1aa813267535e65bf5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html": [
+ "ff6aee7cf06c6f4dc9e7a5caecaa1d70e55fc90d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html": [
+ "ce1ddee18daee5b2669918df19068f7e1746fecd",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html": [
+ "63b43d13997a2628c7f3879e2e87fd814ad5a304",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html": [
+ "ed497a1c8027e5994bbd8ecf36a47e8b4fe83415",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html": [
+ "f8d97a0c86a823a24c47545e8454cc75f13ec952",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html": [
+ "611164c1f48fcfa38556225d22c0afeed75e4f74",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html": [
+ "c680915e28a19551cc6b5ce55e87b6232149578d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html": [
+ "915a88cca84346a4c6c6fa3a4ff509478e7b0901",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html": [
+ "28122a250d896c2406039d772e7ae07bae3e7f83",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html": [
+ "27553107eebeba6357530b602afe0c3b81b0a9e6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html": [
+ "136ddb9cc68a83a3ec316052d03d6c9176631fea",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html": [
+ "d011a885919b8b1a99d94141ff8a4412dd8a114e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html": [
+ "d87d5850f0dd2c54dbb16e347b9d7fd3b43434d4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html": [
+ "2c6bf466298bbdfc59f9d7fa02185c0eb72030c8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html": [
+ "bf0589564b4e986935b1c1521838fde537717789",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html": [
+ "3f616dec68a57f9a28cb68abd0eaa3c3abb33f0c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html": [
+ "0b796055cbbd252d311b4555fa269848bc3e9963",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html": [
+ "e903577c95a968bbc374df077dbc0b95f2bb4a42",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html": [
+ "c812e2aa122cfead7fbd1c926427a242eca563c5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html": [
+ "88b68ef5e00b5f6d67d90a45e23d2dd82cc27a94",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html": [
+ "47a8bb1895359bd4ff39d063c05e57c804fcd45c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html": [
+ "a5e98f5f38e835452a67c5de9b5f9da3f7d7d77d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ "3b6c78dcea428d1d00c95fd06051f62998860df6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ "ca6f2485a9937a0ee9364ccc2a3d8841e10dd40c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html": [
+ "520bea1e1fbbe510d745901c9fec217b65c21e48",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html": [
+ "298248e21d6ba53cc5bf5cf591adcb9b33a29f5c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html": [
+ "3b6630ca6e7cea51492e9f68cf0c8b067a6a50c8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html": [
+ "d6f2ec45a7ce85ff2f03748bd3db47c2f7a772d1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html": [
+ "d78ce1f66f4453118a3065a8f70287e281e58759",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html": [
+ "314e15d4304249d5ac9b90bfd22a5fead4e03c03",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html": [
+ "b098e917c936a58e3457f405a7f87a6ef0435439",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html": [
+ "43f924c77f867f085095dc0e63ee01d7e8a83010",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html": [
+ "10dc03fb0142ccf6cf89d98e764df16eb56fa9e9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html": [
+ "541415c9546ce3e7b8482355bd9ebaeb94c3f4eb",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html": [
+ "f9d4101186fdbfc0fbb055a7bcbee559e5fa29c7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html": [
+ "fa92ffe6bd075112936d08be00cf0c210453ff18",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html": [
+ "b1d2d924035a1eadecfee1c02ab883e834d47b9a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html": [
+ "5fb91ef90d4dd93b2035a27ad8f0c311bc3a2e88",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html": [
+ "135bf134a40c8687ec1b13cc7d99f85f20ce856f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html": [
+ "db8586474b04aedbb244171c00d4ebd8ea90e4fc",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html": [
+ "22c4900d10a6dac7aee5d243e30be1c951512a41",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html": [
+ "65a3ddca6a79f6a7bc237b8fa6c0721cfb502e09",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html": [
+ "d1b3ebcbca08cba6165283c77a6f62ed3630de03",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html": [
+ "38abcd502d5549bdfcb30f6717e14052534bf8d0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html": [
+ "858abba8e1eda0bce1eb7f4ea66a361b98121f20",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html": [
+ "e138dbac1fc73e7dc3b1a07413f966c77e45b7f0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html": [
+ "7f0a6399f57dd1b66bbd5567b4b72cff480e061d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html": [
+ "9f271c5c46881a5f90ced1a11682249f9e1a9c3d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html": [
+ "1be7385e46d76cad97a798eedb55630b9823d7af",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html": [
+ "442632c4b9bc9818c473609d90eae350e8b63c99",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html": [
+ "6ef205587775d7037697e9d880c4110ae229ddd7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html": [
+ "3bed586e83c598d156e6e07d03fb1d2d32e65820",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html": [
+ "4a1f4291656ab6a999f615c63c76b75ea1cfba86",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html": [
+ "c55848be7c1fe64e745d6357e2ab9e90867f2808",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html": [
+ "d9d9b5e7622760c4dc42feaadf0107ef79b0f284",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html": [
+ "8e814e27b29a0e3804897c2ad5713112bef146f2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html": [
+ "22ece65ccd1c1c0c8b45e4a0c46cf732978bd50f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html": [
+ "40e36088e399553fcced18afbce4b8555fc3492f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html": [
+ "ecfcf418c63bedd8e1d8ba27d2af4e307b66b883",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html": [
+ "ecab7543b04fd3b4da10f49e254772c1d7ffd689",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html": [
+ "c76f5c3bde415689cc1cdb119073fa8a65cc5f9d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html": [
+ "9041c1e8f5d916b5f5540e68bd559aaa1e79905b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html": [
+ "db6c8a6681e5f622e9bf8275329c0104600244e1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html": [
+ "7a242da44b373384538aca46fc5f70d5d9c66879",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html": [
+ "c57730703364851f646f77058d9d69eb47e9687c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html": [
+ "39a65cf8e8f76f248d4cbcfa8b16decdfa266d4e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html": [
+ "03588d7d3c64af047bf9c52bfdf0bee2f7a35af3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html": [
+ "2253f93b1b36980cf563c5de71d8a714fac7e913",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html": [
+ "d5ff6947fc5efc9dee25087a8095c17fe0cde85b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html": [
+ "6e0e170dfc6a61aae148a3ac53fbebcf5cded132",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html": [
+ "08be9fc8fb949b8d038947d96b999f4208e2bde8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html": [
+ "49205634e5931f877107cb3c25631187eb115a2f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html": [
+ "d0cdf5ecde7cc69282d14929a20f5ec01533c128",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html": [
+ "6b1f98786e1a38a56579bb5452eeaacf035f5baf",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html": [
+ "49d5b4143bfdd46cdb31e8658512386aa69a5963",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html": [
+ "64ea5452cc6d6cfbcd394abdcb94fcdb8658410f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html": [
+ "f193ced7bc8b44ff80a9fc4891b5f8c273062f68",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html": [
+ "31ad993e6630b9a662aa1a61ad1828177a2ad72c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html": [
+ "fed40493102eee955494eca04c1a5e3d30979e8d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html": [
+ "053cd8d7a3554d7deb0a9dbd8848a5f622477061",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html": [
+ "35ed15e929b566394d5f8ec3bcb27058db047cca",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html": [
+ "014693c3e88dc8443dc2056915301c3914f12ace",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html": [
+ "886ea8c3a7259d307f170f4e774ddd2e50566a00",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html": [
+ "23685b8a0dfefd245f92c0181867e424c5e1a9bf",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html": [
+ "822d196eb514b46c12ef1b31f207136277eeee33",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html": [
+ "5cda327fcc4e23623d35e86fe1c0ce0397098038",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html": [
+ "3c63a8b1c103448a79be90df7677026a44ff2d8f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html": [
+ "5836897035e340cf0f5b58f89d2df4762de44f02",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html": [
+ "975110b1e779d247e1c7f45155d5ae292b76a704",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html": [
+ "4641de88c739a14e07e8a9db01982ddd9936ccba",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html": [
+ "a2b9102e82f14b4bece84e9e2d383c018264151a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html": [
+ "114a40cb800978130ba15ccb47917af5a85bd33f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html": [
+ "97230961f67f98847d18d6d8c8f76104707e5fa4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html": [
+ "ec8ed051039bd0c1c95230fb8efdd7338749cdb2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html": [
+ "aa336f3914de8b61a82588d3f721f7cb4bddc88a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html": [
+ "ff4f0b776662f61538659a7900990436393c0cb4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html": [
+ "0b2b0ad8d52a822620c2e039bbe43e427164462f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html": [
+ "af09ae128f980054e858fef017ae96a86fbdfbea",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html": [
+ "99d4f8be7549a9fd952e71f740d9bbe8d4958310",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html": [
+ "788cf67780137c02ef8f811c6f36c2544da5eae9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html": [
+ "ac3aadbdc8ec09013ec5b1ae0d84ae8fa49964fa",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html": [
+ "8329e74095034c264e960e214a1e2ff784d4b734",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html": [
+ "e9647772192e0f89f224cc71fa658cc593b487b5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html": [
+ "b95f2fc84d7c99b55ad6b89825f17dcdcbbc8f2a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html": [
+ "95b0ca6fbffe6df366a9df1ac6fd003c8d1a7ad4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html": [
+ "bf1f4f4f8e410365ffa8d593df3a19e444901cab",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html": [
+ "cbfa298cf597f22415630e1783827884b1cee322",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html": [
+ "3be3c7c04b75aa83a3b322832a316bd20c61cc8e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html": [
+ "e5ae1b3a62c8dd4ed7ff7ba5fdbac5fa081f53e6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html": [
+ "f3bb4286afc8b0f86aa0fb6fdface2619abbe1ec",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "a00780694c1f82cfc4b243536204de78c3f7db06",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "604a1e529f5d61717e5ef2a2a14b7ec718b18df5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "37b4b4c81d9c670a70737572b4f599787a69863c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "76c03a3a23b9ba5d7fbd591088479245bbf7412e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "f804ae15f6c37f1da7ef993cadbe4771ec48f2c3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "218e7974a4add6f96b2777f0028455d6e00b1723",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "509b5c212587fcf0da8b7db76de07a469e01cbee",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "06518b37c084865c9b8ca4603c11481ff235d432",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "6d3bbad2f985c658ce61c0a498741f2411ebf566",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "f3d89afa8e0a773dbec92c2c0330aa892de8fd31",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "8a0f895dd5546e9e028ce7b5d26b585dc1d0407c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "8ef99fdc7279322d46208d73140f4f2bc3251eea",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "c809622a3f8d87b2f60251093407c2d8c7c08dcc",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "b8d88a5fdced14774db37d2454cd2a0d766d66c7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "5cd3774b8ecb6b260864049647a3dcd93a416aea",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "ef1c290075b96fcbdb02ed9721ebb7d40d197a6a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "426d5bf8556ca53eb1fb74dd8495347d43901b80",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html": [
+ "a5678f0d8af832008460786df2023481cbe9065a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html": [
+ "7fbef77906bff0dd0c08bfc2168f175a93d208a9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html": [
+ "a04e160ed66ef58a1b8422605621ef0aa15d0bf7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "1a5830e33985a382914de04f3aaff3157dd05a45",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "b7cbd0f451c8ba6ebaf0615596ca763950f72993",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html": [
+ "1a0775901013d3395553e3b06df299ccc79005d2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html": [
+ "2a6023dd4839dc4ef964b8cf7a1fe286574d2c90",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html": [
+ "db4f2c3c07c89037b66068fe9623d8fdbe45b9ee",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html": [
+ "7667e641a185bb19eb5b12337fafa2782babafe2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "0a0b8dd289743c5b86fdeedb7a6f9aa7f55c724b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "ad1ea96f46cabf4e17b240f1bfd10dd7b6c80ed7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html": [
+ "f9959d9c864ba4ddfdf49a957f6932125a08b8dd",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html": [
+ "a459c7251cf714cd3761bda0a0318420097efd50",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html": [
+ "20483abbee11dbcbb23abb7cb8514ff8905c63df",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html": [
+ "b291030abcc347dd7373641fb011aa61b8f6afcb",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html": [
+ "c99c5c6512ad544960f3fc31bd147dc56a365528",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html": [
+ "ce4ad27fe84ccdbbf52559159e4f9298c1b1c236",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html": [
+ "b18f0df99b130c6fc3fbe3569601602eb557f889",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html": [
+ "84a9a807c0f2910f5dd217d76d074bbbf8220a3c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html": [
+ "04971fe57f08c1a90bcf9434720b93065d7b2396",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html": [
+ "81e99b3ac0ff71d2254bf413852fe3098274c70f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html": [
+ "be9fdbff51751a5ab756f83fc29285a067dfa8e5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html": [
+ "fe67437e4dc7a237eab3697a770c366bb2825de1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html": [
+ "5a1ec96f33a315bced2de00709faac657b6df29a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html": [
+ "b31138974ed090cf6815d1857359b950751ebca3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html": [
+ "d3fb9bbb74ae6db3370b1254c3df31763f639a4b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html": [
+ "4631af5260be93d5acbba8e736a0a322ace887c6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html": [
+ "dd6362c04db67e8d3e8ec5c3429b59617ef7f913",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html": [
+ "c823c6e7ba136a541019af79084aec776405e5eb",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html": [
+ "6801b70f93ab131998f7082b40b5841f234342fd",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html": [
+ "a55b41a020dbbf050d808ae71e1b63d7db6d0fb5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html": [
+ "35727cd0e22038d90c59e5faf1d19fcd2d82eb02",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html": [
+ "0e3338647fe1f5964dcbdeba1362487582dc5514",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html": [
+ "d08978606020167262d2d3b989da1ab0923e3453",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html": [
+ "672bf6de2212c49c986cfc874d173722ff9ae0e5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html": [
+ "2c5d115414ac6e98af462a584b2542a454b776a3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html": [
+ "77679ab4e62e9a7081ebe00e9522dc3012c8c71a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html": [
+ "2ed530425d5e5ef0421635700f7ff2efde704fc1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html": [
+ "f1724215d00384dde2d30bb238c6d393772ed80e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html": [
+ "b86e83109a8a97310e254dd95388d871e5d1dc2a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html": [
+ "2849ca8cf72c8d30538858c8a8859b407dd80207",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html": [
+ "572e04d674d5ac7a315cb25d5cd8c1587b46b07c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html": [
+ "b589362fb2b50467f19e3317f45d76be3579373b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html": [
+ "695e0d32b990292ba452fdc33e498b8628f3735a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html": [
+ "41ba30a0c554d672fe3b8e7333bf99abe3b9f1ac",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html": [
+ "1f4442d0fd6bce3169abafabda24244b8cadddb8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html": [
+ "53e502ff5665cf789e1c7500e6620a4d68c20901",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html": [
+ "786e43ee7266865bb3d6db68286be97a989d0c43",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html": [
+ "cf30ceb59430e318bc4b6ec6d662c82f059d5e8e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html": [
+ "ba7e39d8902f8d110c847c3460399ceb120b16cc",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html": [
+ "b25f36c61b5528050e0c37fb91a2a7c6b61bc9b5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html": [
+ "49352a7f5876c7ba35a2653bd1cf1cc979035ce6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html": [
+ "1c84b97f73c432df0ac366ca872eaa6b4c60fd8f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html": [
+ "1fd86c6ea2637cee2fd61c6d1d499cb9004639fe",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html": [
+ "625b3cba2929ff481e9085ec981b68d4f5b32016",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html": [
+ "2ab41c9ebec4dbd32fe9e8df712dc90a35a6a57d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html": [
+ "b463dfd023ce7d4aafc5fb8fc99660eb6668665c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html": [
+ "00a10e1945001e5d6036f22043493dd59bd71aac",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html": [
+ "c1a52fe0c5b6c5fb47377618acb585f487e57b26",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html": [
+ "c4ff38003150745537dfe22c6cf1b865d448433c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html": [
+ "863369c876ca82cc874375c45e9c29c003667070",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html": [
+ "9240998a3c41ff0e840f911e64395d5f619f74bc",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html": [
+ "0f4640654fa2ae9ce466687d619482ceb9107456",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html": [
+ "934d17cc32963a73f823951c8d77d16d60324d09",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html": [
+ "270e81a52511be0eb274d52370d4d905c735f874",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html": [
+ "abddc971c7e6f06d0be0353bbb008d3e92138c11",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html": [
+ "38bde67c48c8e5b39921620e2c80e74ad0046c59",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html": [
+ "0c4a9a38db99e125d9efcadee89de7bb477259c9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html": [
+ "3c6efb46f162136fb48a1b507cf8f4b0353a5515",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html": [
+ "77a4e88b7788bbeb8ba92c1e7cbc8fc92dcdd356",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html": [
+ "119445172a461ab69a94a5d19740f25f918eff5d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html": [
+ "18ce22b7ea93090516c296212cf42cf947bca4fd",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html": [
+ "95ad996eebc42e0fbe9bd42ead8a31f9e25922b6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html": [
+ "1d558cf56738cd698e0b020df96133416e3c5183",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html": [
+ "0f269d6fac19ada45c3a437100f05e82da047c7d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html": [
+ "1966a479387aab09103307a4cf2dfb5834a72c73",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html": [
+ "caa83b1b3159c4d499bafb05edfff9fa235428b3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html": [
+ "281119783e1e3ac6affb6f54f9d8d70476199382",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html": [
+ "86785b7f5c05413af78e6dc08c7afb95b02da6dc",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html": [
+ "402f680880e876adc641b9981bf075fe4e015938",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html": [
+ "db7a1530be5d566e5dfb42306c2896d696a1556f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html": [
+ "70fc272e7149149aa9cb6882890170368db4d091",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html": [
+ "b6f2c8add9a4c7f93edbc86a6d45cc6de4f58bea",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html": [
+ "925cb67ac511c34801eafd23ed96c37e8b4b5b48",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html": [
+ "5ac8f25ecbd589afc1ff4e31927ac8e30e7816c8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html": [
+ "2063221722110ae7fe92e577918eb92f1c9f99f1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html": [
+ "f1f4f3bba439481659ca87db7032def14f2f3daf",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html": [
+ "030de324d9f78b0a0e706310760b52f83efe8a5c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html": [
+ "2914c71d272c0be798057eaba7ff643071aa61ab",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html": [
+ "586b673102d8d98f765aebe6d4e4767faeccfd8d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html": [
+ "54bbe38a12443b5bf090d7a95d6c4a1f6c715218",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html": [
+ "9f71e045a19bcb74d450dcc903ab57c1eb518c4c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html": [
+ "356475b6a1022389ba91e2a1f53b10841d395cca",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html": [
+ "01ef4b080fcfdd510cb5647adbfbe0bea371867b",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html": [
+ "e8795602b9368da8f85ed81d60618b51ab095a89",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html": [
+ "ba2162745257666451fd763e24462d4746cace2c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html": [
+ "59c4d5238a481874ff3c1dddde5ec8146096cff6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html": [
+ "d067cc8ea2c9b6df8a47fd583903d12b15b0bfd8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html": [
+ "889acaca97b1c4e5b8ed9ba5538ca0cfc3d0acab",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html": [
+ "25d1857ead5ce58d9c89d82ea110fef30751dfca",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html": [
+ "51b71a977ce4d682a000e117a785f421299d5000",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html": [
+ "f0a18a10a2e0e05e3065e5b4c953ba8a33a59191",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html": [
+ "c11a9c40c34d9eaceb99fad57c3627843d8a32c5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html": [
+ "9cc85b97d69aa26617b27848a4abfa5fe12ae805",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html": [
+ "e1b9c071a8f0d47be4190d7aeaadadc7f84068f7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html": [
+ "9df9f18a5402cca2377e23a10b36cfb93233a238",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html": [
+ "b2111079c201ff3d7511d8aa3f51096893b72432",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html": [
+ "c7aa9dc13c30e6354300a8aae2a02e634eefc0e0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html": [
+ "929c4c594d67838a0d477946194f6eb2802a4a55",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html": [
+ "b2fea46787d457d1f0f24a4b430b241fc2d09b36",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html": [
+ "e08868bbb70f823b2cdcc9673632cd916f2df34f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html": [
+ "827a4543138f99155643abc15537c0802133d559",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html": [
+ "ced41a3b59b3a191f57cb6b508562fdc01ba6613",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html": [
+ "ab873760f224a8d3ca0f77abab26e462da62f711",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html": [
+ "47153305f55c119775ca8a8d6db2146cf7e97373",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html": [
+ "76d4705ae5daf194c62a8363888b8e0a34ce5eb5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html": [
+ "c026b45fd061e295b4435f1285c4b6d383e0af00",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html": [
+ "6870f2cfd072d9eceb74c333dd3bdf2bc01598c3",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html": [
+ "1a3acf28dffbe052d51ce8d43f8bd62cfd19a575",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html": [
+ "87981d1c661d9790e5f4226527b218dbfaf788e2",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html": [
+ "186d94ba8afc97c85e6c0528d7d7a1257f19e0b4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html": [
+ "bfe3c149eaeb98bf8fc32bb2d8e4034c8f8f3f74",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html": [
+ "265b108c984ca2a7291664db6a746653d98a9ec5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html": [
+ "51fb8801cf2caeaa653ea9dd9e95be094955f677",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html": [
+ "078b803684089ff2d9529a0bdf25514824a883c7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html": [
+ "078aef4c736fc4a85a370c387331aa18dd369e3d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html": [
+ "65b6e912cf336bbd55a8e51b4459c1f2c278219e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html": [
+ "7ab79f00ab26e87c076ad5a311cc5ca77bd1a093",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html": [
+ "951b9a76ddfdf607db9afec9a98537ae0dc89c17",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html": [
+ "c2e72a3c54572be7056e9185f256866c97879aee",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html": [
+ "da910c915a7014fa06d0a8c54ce172a04fe2a569",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html": [
+ "be9b5c3979bd3336c3e3d1b2871506955aa3258a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html": [
+ "69bae396965709166af06f1467320afbed05b7d0",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html": [
+ "2c800d68d3ca032c0afd1f1aa813267535e65bf5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html": [
+ "ff6aee7cf06c6f4dc9e7a5caecaa1d70e55fc90d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html": [
+ "ce1ddee18daee5b2669918df19068f7e1746fecd",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html": [
+ "63b43d13997a2628c7f3879e2e87fd814ad5a304",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html": [
+ "ed497a1c8027e5994bbd8ecf36a47e8b4fe83415",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html": [
+ "f8d97a0c86a823a24c47545e8454cc75f13ec952",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html": [
+ "611164c1f48fcfa38556225d22c0afeed75e4f74",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html": [
+ "c680915e28a19551cc6b5ce55e87b6232149578d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html": [
+ "915a88cca84346a4c6c6fa3a4ff509478e7b0901",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html": [
+ "28122a250d896c2406039d772e7ae07bae3e7f83",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html": [
+ "27553107eebeba6357530b602afe0c3b81b0a9e6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html": [
+ "136ddb9cc68a83a3ec316052d03d6c9176631fea",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html": [
+ "d011a885919b8b1a99d94141ff8a4412dd8a114e",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html": [
+ "d87d5850f0dd2c54dbb16e347b9d7fd3b43434d4",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html": [
+ "2c6bf466298bbdfc59f9d7fa02185c0eb72030c8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html": [
+ "bf0589564b4e986935b1c1521838fde537717789",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html": [
+ "3f616dec68a57f9a28cb68abd0eaa3c3abb33f0c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html": [
+ "0b796055cbbd252d311b4555fa269848bc3e9963",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html": [
+ "e903577c95a968bbc374df077dbc0b95f2bb4a42",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html": [
+ "c812e2aa122cfead7fbd1c926427a242eca563c5",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html": [
+ "88b68ef5e00b5f6d67d90a45e23d2dd82cc27a94",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html": [
+ "47a8bb1895359bd4ff39d063c05e57c804fcd45c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html": [
+ "a5e98f5f38e835452a67c5de9b5f9da3f7d7d77d",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html": [
+ "3b6c78dcea428d1d00c95fd06051f62998860df6",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html": [
+ "ca6f2485a9937a0ee9364ccc2a3d8841e10dd40c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html": [
+ "520bea1e1fbbe510d745901c9fec217b65c21e48",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html": [
+ "298248e21d6ba53cc5bf5cf591adcb9b33a29f5c",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html": [
+ "3b6630ca6e7cea51492e9f68cf0c8b067a6a50c8",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html": [
+ "d6f2ec45a7ce85ff2f03748bd3db47c2f7a772d1",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html": [
+ "d78ce1f66f4453118a3065a8f70287e281e58759",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html": [
+ "314e15d4304249d5ac9b90bfd22a5fead4e03c03",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html": [
+ "b098e917c936a58e3457f405a7f87a6ef0435439",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html": [
+ "43f924c77f867f085095dc0e63ee01d7e8a83010",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html": [
+ "10dc03fb0142ccf6cf89d98e764df16eb56fa9e9",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html": [
+ "541415c9546ce3e7b8482355bd9ebaeb94c3f4eb",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.keep-origin.http.html": [
+ "f9d4101186fdbfc0fbb055a7bcbee559e5fa29c7",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.no-redirect.http.html": [
+ "fa92ffe6bd075112936d08be00cf0c210453ff18",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-http.swap-origin.http.html": [
+ "b1d2d924035a1eadecfee1c02ab883e834d47b9a",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.keep-origin.http.html": [
+ "5fb91ef90d4dd93b2035a27ad8f0c311bc3a2e88",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.no-redirect.http.html": [
+ "135bf134a40c8687ec1b13cc7d99f85f20ce856f",
+ "testharness"
+ ],
+ "referrer-policy/4K/gen/top.meta/unset/xhr/same-https.swap-origin.http.html": [
+ "db8586474b04aedbb244171c00d4ebd8ea90e4fc",
+ "testharness"
+ ],
"referrer-policy/4K/generic/spec_json.js": [
"39cd997338e4c9e235d30097d970daeff5f1f19b",
"support"
@@ -703585,7 +718069,7 @@
"testharness"
],
"resize-observer/observe.html": [
- "7360264e6baff7b468c09ebf71e39c1936c2597c",
+ "d41799332720a1f32c7daa559c201f11ecab1316",
"testharness"
],
"resize-observer/resources/iframe.html": [
@@ -704361,7 +718845,7 @@
"support"
],
"resources/idlharness.js": [
- "7d1373ef34110dd51c7e3be5181ede6ba5e3cee1",
+ "01af85b295dd6849ad48121f493a9d3c2ae9c29b",
"support"
],
"resources/idlharness.js.headers": [
@@ -704609,11 +719093,11 @@
"support"
],
"resources/test/tests/unit/IdlArray/is_json_type.html": [
- "463d2b45309652feb6d133d62051628a977a5dc0",
+ "ab068b29cac0d7083471d5d525fb4c27124d9f77",
"support"
],
"resources/test/tests/unit/IdlDictionary/get_inheritance_stack.html": [
- "1ac9e8da06fe590513bd1318c2a83a7e83803ab3",
+ "052592dd4607dbda6cc17603249a38ad53b40c9c",
"support"
],
"resources/test/tests/unit/IdlDictionary/test_partial_dictionary.html": [
@@ -704633,7 +719117,7 @@
"support"
],
"resources/test/tests/unit/IdlInterface/get_inheritance_stack.html": [
- "66b79afc12f2fdf139163502065a1778c63b06e2",
+ "7e9188c7318920f44935e418a50aa35a58bf5725",
"support"
],
"resources/test/tests/unit/IdlInterface/get_interface_object.html": [
@@ -704665,7 +719149,7 @@
"support"
],
"resources/test/tests/unit/IdlInterface/traverse_inherited_and_consequential_interfaces.html": [
- "400bc35d9fc7b0aea97f89806e68e14c79a73fef",
+ "94b956db6eed1e19d7dd37ca62a804c4fe36ea2a",
"support"
],
"resources/test/tests/unit/IdlInterfaceMember/is_to_json_regular_operation.html": [
@@ -704873,7 +719357,7 @@
"testharness"
],
"scroll-animations/constructor.html": [
- "a449b32d2be4bfe9e825ff3b3637a5ddb609b93e",
+ "336afd504e56c30337ec18a8a014eef3a1cd45f5",
"testharness"
],
"scroll-animations/current-time-nan.html": [
@@ -704905,7 +719389,7 @@
"testharness"
],
"scroll-animations/setting-current-time.html": [
- "7a77f17509c6fff104d268d6a753f66469bb5dec",
+ "dd2abb47d39844a10e06f53781106e6be05a4623",
"testharness"
],
"scroll-to-text-fragment/META.yml": [
@@ -705125,11 +719609,11 @@
"testharness"
],
"selection/collapse.js": [
- "7d03f00c8c7be2e1e030aae9a25d9f6e99b16c44",
+ "4a816f49564fd877f06eb2a30df27b83ae7294d2",
"support"
],
"selection/collapseToStartEnd.html": [
- "07c2b843b40acad772eb477a118228be2444aff8",
+ "c2bba3af18958d75a04dba116d2830d35ef803a8",
"testharness"
],
"selection/common.js": [
@@ -705157,11 +719641,11 @@
"testharness"
],
"selection/extend.js": [
- "a3be628d6c8d37ce5f646656b3fc6ba7b3808cb9",
+ "d5d199068c5b0465f96ed643af8d7d20a889312e",
"support"
],
"selection/getRangeAt.html": [
- "3c6d7976fa06e284f74c71f7e7e6ba3ff9dea422",
+ "466bfd5286535492311a095173a4fb98b1ac5e8d",
"testharness"
],
"selection/getSelection.html": [
@@ -705181,7 +719665,7 @@
"testharness"
],
"selection/removeRange.html": [
- "6ddccc66f225d4b6b2a1362e5e0c06a3ddf622d0",
+ "7618a4ac535b5b7fed48f2f533bc4489d0008813",
"testharness"
],
"selection/script-and-style-elements.html": [
@@ -705189,7 +719673,7 @@
"testharness"
],
"selection/selectAllChildren.html": [
- "65a4ff3c6c58768b259bb637a52ef28c91c5c313",
+ "9a472a4b2fe5ef4b0e5283e3d957ceefef387ff1",
"testharness"
],
"selection/setBaseAndExtent.html": [
@@ -706069,7 +720553,7 @@
"support"
],
"service-workers/cache-storage/script-tests/cache-put.js": [
- "38d25647b34e71945a77c29bb654e1df9626ad4f",
+ "6979d96d161618d045101bc98682d2946bbf6547",
"support"
],
"service-workers/cache-storage/script-tests/cache-storage-keys.js": [
@@ -706261,7 +720745,7 @@
"support"
],
"service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js": [
- "55de70dcf8158408e4993f2736bc5062c0e3cb63",
+ "42da5825c56ddc828077749af4874a5b5837529c",
"support"
],
"service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-loopback-worker.js": [
@@ -706393,7 +720877,7 @@
"testharness"
],
"service-workers/service-worker/client-navigate.https.html": [
- "9492335bb29f753f9e309ffa8b3d309794e152fb",
+ "4ba64e5fd902a4380e776c65be40998b5400a8ef",
"testharness"
],
"service-workers/service-worker/clients-get-client-types.https.html": [
@@ -706465,7 +720949,7 @@
"testharness"
],
"service-workers/service-worker/detached-context.https.html": [
- "f96370d201000d20a950166dccf2caf72bd473c1",
+ "c9015b809301ad706cbcd7eda9f17c88323df3e5",
"testharness"
],
"service-workers/service-worker/embed-and-object-are-not-intercepted.https.html": [
@@ -706485,7 +720969,7 @@
"testharness"
],
"service-workers/service-worker/fetch-canvas-tainting-double-write.https.html": [
- "4e233053729c42c1f8ac49d9554f3035c8f04728",
+ "dab2153baa6f462bdafa68b555cc198ccce09398",
"testharness"
],
"service-workers/service-worker/fetch-canvas-tainting-image-cache.https.html": [
@@ -706637,7 +721121,7 @@
"testharness"
],
"service-workers/service-worker/fetch-request-css-cross-origin.https.html": [
- "2cdfdea996f7c55a56c4bbcd6fe94dace192a497",
+ "5d9db5cb46630fd60f4466136dc3fa24f9c3471e",
"testharness"
],
"service-workers/service-worker/fetch-request-css-images.https.html": [
@@ -706801,7 +721285,7 @@
"testharness"
],
"service-workers/service-worker/multipart-image.https.html": [
- "9bdadff21fbbac84e6150724a3a9bfdb035be38f",
+ "75865172c600b3bb2726c3366ab452b5f79b1ce7",
"testharness"
],
"service-workers/service-worker/multiple-register.https.html": [
@@ -707653,7 +722137,7 @@
"support"
],
"service-workers/service-worker/resources/import-scripts-mime-types-worker.js": [
- "2c585ac1060a88c4f3eeac6b6a81bbb4e0c30280",
+ "d4f1f3e26d88d180264b1abea83fbfdcf8cdc89d",
"support"
],
"service-workers/service-worker/resources/import-scripts-redirect-import.js": [
@@ -708101,7 +722585,7 @@
"support"
],
"service-workers/service-worker/resources/service-worker-csp-worker.py": [
- "9d2b1f2d834f523447b2cfd373bb176f2e0e8573",
+ "7b0c13feba9fbcd591cd52ad553418b06d933b93",
"support"
],
"service-workers/service-worker/resources/service-worker-header.py": [
@@ -708525,7 +723009,7 @@
"testharness"
],
"shadow-dom/Document-prototype-adoptNode.html": [
- "e9b07d0c8095bf0bf7d40e6d5a09c6f79f6c44fd",
+ "6afd603618d7af99a9a71818a735b786efb36cd7",
"testharness"
],
"shadow-dom/Document-prototype-currentScript.html": [
@@ -708533,7 +723017,7 @@
"testharness"
],
"shadow-dom/Document-prototype-importNode.html": [
- "4566e4e83582222a21a61cd1695a913222cec954",
+ "f71f8dc6c5e027108176d3dfab633e2d18b78129",
"testharness"
],
"shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint.html": [
@@ -708541,11 +723025,11 @@
"testharness"
],
"shadow-dom/Element-interface-attachShadow-custom-element.html": [
- "8f2913450d43c0177684026182846d09838a5a43",
+ "11ae277c4123d8cdb5e701e5bc3d097ff1b14dff",
"testharness"
],
"shadow-dom/Element-interface-attachShadow.html": [
- "304b64cd46603d2cdbbbd0f78c3032ca8ad3d4cd",
+ "858dec4cb9fb707e311253a3193b1ab575b668be",
"testharness"
],
"shadow-dom/Element-interface-shadowRoot-attribute.html": [
@@ -708569,7 +723053,7 @@
"testharness"
],
"shadow-dom/Node-prototype-cloneNode.html": [
- "6c6b24bc0ee4b6cf7ac579b61739ba3d078e676a",
+ "0ee47d492e5ad0ec8c00d15d4897c19772c9651d",
"testharness"
],
"shadow-dom/Range-prototype-insertNode.html": [
@@ -708577,7 +723061,7 @@
"testharness"
],
"shadow-dom/ShadowRoot-interface.html": [
- "bda361e5987d1c6461a0e6455975f948aa1791e0",
+ "8efa50e4ea18cc6655dba923cdcf4f6e59029c5b",
"testharness"
],
"shadow-dom/Slotable-interface.html": [
@@ -709745,11 +724229,11 @@
"testharness"
],
"speech-api/SpeechSynthesisErrorEvent-constructor.html": [
- "61e179cca47b70d001e5e081e87166ec1363714a",
+ "abefbf9a51cdaef5f7b2a43211e450331b5546a7",
"testharness"
],
"speech-api/SpeechSynthesisEvent-constructor.html": [
- "3ad6886b0aa9b4b868e5c57358ed742ebbeacff0",
+ "e6b29683f79d8317ce8505678b3d70df6916ba78",
"testharness"
],
"speech-api/SpeechSynthesisUtterance-basics.https.html": [
@@ -709777,7 +724261,7 @@
"support"
],
"std-toast/actions.html": [
- "d07e5fd3d62694880bb3a69a6b4ca4ac1a9473e1",
+ "6a80def09985f27867f2c41bbb138b1a40399641",
"testharness"
],
"std-toast/attributes.html": [
@@ -709801,7 +724285,7 @@
"testharness"
],
"std-toast/options.html": [
- "9f53bf88601ce914b1acf4054121d9420370fffa",
+ "0383d71f9ae9ff9c2f682abd8158b9c2e31e245b",
"testharness"
],
"std-toast/ref-tests/toast-slotting-expected.html": [
@@ -709945,11 +724429,11 @@
"support"
],
"streams/byte-length-queuing-strategy.any.js": [
- "6a61adcdc96cf1f002e70642a87e8e1218e52c06",
+ "5cb3f5e87c50641fefef521ccdc2972a6156930c",
"testharness"
],
"streams/count-queuing-strategy.any.js": [
- "5aae61eda3394e3017d51d241159112f5ef9883f",
+ "f36bdc5790d430a8670778c587b812cc3947e946",
"testharness"
],
"streams/piping/abort.any.js": [
@@ -709985,7 +724469,7 @@
"testharness"
],
"streams/piping/pipe-through.any.js": [
- "92d1394ca2f0ab75375b10bf50f2d45b195deeff",
+ "e6959b6c12ae9b3416b70b51ba37481f26ec76f9",
"testharness"
],
"streams/piping/then-interception.any.js": [
@@ -709993,7 +724477,7 @@
"testharness"
],
"streams/piping/throwing-options.any.js": [
- "6fab32cc6dcf4c2f4fb5a7a22999788f22459f4e",
+ "68fac571114beb75153fba51469b9dcd6b981a82",
"testharness"
],
"streams/piping/transform-streams.any.js": [
@@ -710001,11 +724485,11 @@
"testharness"
],
"streams/readable-byte-streams/brand-checks.any.js": [
- "e4d5e26e84385bf6b4d4698444d9233a74b0cb05",
+ "9bbe7111ea8ddf4afbea30d435400a19ff63c684",
"testharness"
],
"streams/readable-byte-streams/construct-byob-request.any.js": [
- "428cdeb76aeab536d083c06e17ea54863fe3072a",
+ "2e1c53fdea877946e2a097a81b4c949421883e9b",
"testharness"
],
"streams/readable-byte-streams/constructor.any.js": [
@@ -710013,31 +724497,31 @@
"testharness"
],
"streams/readable-byte-streams/detached-buffers.any.js": [
- "7d87173f0a0035a38c51c5318c1dc28ff45abfb6",
+ "e37db6a0d87d00aacb0cf84bbfb74d1bff9439ad",
"testharness"
],
"streams/readable-byte-streams/general.any.js": [
- "c8f1fb7864e4ad2c9e68d7a1144c16cf67b5a5d5",
+ "1947ededb6652ef6c048ef34496d6b75f0afc7ac",
"testharness"
],
"streams/readable-byte-streams/properties.any.js": [
- "2d52fd678ab1f602b81295904afdd428a3c736db",
+ "b201caf78a7d7445a92f4f82245db5ebf726c7f9",
"testharness"
],
"streams/readable-streams/async-iterator.any.js": [
- "865b8475427b475e8b50b6bff54e58f3e23e58b6",
+ "ffbcdbb28bced9345124abba3bf32616100c1eec",
"testharness"
],
"streams/readable-streams/bad-strategies.any.js": [
- "5dab51ef771ee48e537a5f9a9f8cb7514d411797",
+ "2378c2bef2f262483a80772d640c5bb14451a3f6",
"testharness"
],
"streams/readable-streams/bad-underlying-sources.any.js": [
- "cde5603f2403452576e4d01426f277921082bcd3",
+ "0dc3e0a2535b1d3376d9d611a224b205ca9bea4d",
"testharness"
],
"streams/readable-streams/brand-checks.any.js": [
- "7bd41b4455e3303db3926ada2b662a8abc437bff",
+ "c82f513df01a86576442b31ca7fa93fcf0652b9a",
"testharness"
],
"streams/readable-streams/cancel.any.js": [
@@ -710053,7 +724537,7 @@
"testharness"
],
"streams/readable-streams/default-reader.any.js": [
- "224cd834b31f86174da9cd7d28048b7ab8689b2a",
+ "1e67b272b544edfb718acaff71dccc05fee752f1",
"testharness"
],
"streams/readable-streams/floating-point-total-queue-size.any.js": [
@@ -710061,11 +724545,11 @@
"testharness"
],
"streams/readable-streams/garbage-collection.any.js": [
- "b6f2a7f1d94594bfc3b90e4110eba50e052567e6",
+ "76a69572073c09103ef8100369e750c050dde5d2",
"testharness"
],
"streams/readable-streams/general.any.js": [
- "e9a107db1a36964044eb53a18ea53105140d0f42",
+ "4a72b3044ff013d65322b45dcc0ee7d46f5a52df",
"testharness"
],
"streams/readable-streams/patched-global.any.js": [
@@ -710073,7 +724557,7 @@
"testharness"
],
"streams/readable-streams/reentrant-strategies.any.js": [
- "7724ea63d3747e4fdf8dcd418889d3c2160d8036",
+ "ca77a1b357f4b428dd68428a483cc13270f60067",
"testharness"
],
"streams/readable-streams/tee.any.js": [
@@ -710093,7 +724577,7 @@
"support"
],
"streams/resources/rs-test-templates.js": [
- "ef68e0ade647baf5ddf002615e4e4efdb5dbae02",
+ "8e3814d322fd119edcd183d2647f2d0353bf019e",
"support"
],
"streams/resources/rs-utils.js": [
@@ -710101,7 +724585,7 @@
"support"
],
"streams/resources/test-utils.js": [
- "5a9e2479faadf6bacfd95849f4eb6b013d45a8af",
+ "614fcca18e96dee419800f34e54c941a0843f697",
"support"
],
"streams/transform-streams/backpressure.any.js": [
@@ -710117,7 +724601,7 @@
"testharness"
],
"streams/transform-streams/errors.any.js": [
- "53a4a49984b700040793d9c71567345e1180cab8",
+ "a6a35839e23b3192f4ad65d0f52687ab76b37a88",
"testharness"
],
"streams/transform-streams/flush.any.js": [
@@ -710125,7 +724609,7 @@
"testharness"
],
"streams/transform-streams/general.any.js": [
- "537001edae99e0be56d39404e6cc366c3443274d",
+ "c9323155e6a00db80caf22568826ffbd9f213aba",
"testharness"
],
"streams/transform-streams/lipfuzz.any.js": [
@@ -710145,11 +724629,11 @@
"testharness"
],
"streams/transform-streams/strategies.any.js": [
- "9ebfec7358e53e60061f33de61bdcd4bc4fb4243",
+ "c7645e7e651c0b57cd65870fb6f9048aa4bd5a0c",
"testharness"
],
"streams/transform-streams/terminate.any.js": [
- "2bf9eabed8410c9352a70163c8f40e25811dfd0f",
+ "0018b4b47d242b5908eaf2565d153e2052fbeabc",
"testharness"
],
"streams/writable-streams/aborting.any.js": [
@@ -710157,15 +724641,15 @@
"testharness"
],
"streams/writable-streams/bad-strategies.any.js": [
- "d67ee6b5039dc98e5093aef0c3f2820462112a4c",
+ "bc51c3e9fc44b3c673e07318ba2a67d30d21d028",
"testharness"
],
"streams/writable-streams/bad-underlying-sinks.any.js": [
- "ed04b3c0a17fcd9902054e0d844171b9baa41c18",
+ "b0da6503b0ff7655709bd1f1ba2d099c3580c235",
"testharness"
],
"streams/writable-streams/brand-checks.any.js": [
- "17179e7936eda23a284e447bf9b877270016931d",
+ "a28fec3bd6baa0506cc952336ddceb3ae9cb1504",
"testharness"
],
"streams/writable-streams/byte-length-queuing-strategy.any.js": [
@@ -710177,7 +724661,7 @@
"testharness"
],
"streams/writable-streams/constructor.any.js": [
- "97cda9cedac9aaae87cfa23e63c7667b15955734",
+ "c792e1f1fafe35c34e10c1b4fdf8662ad6add073",
"testharness"
],
"streams/writable-streams/count-queuing-strategy.any.js": [
@@ -710193,7 +724677,7 @@
"testharness"
],
"streams/writable-streams/general.any.js": [
- "96670448a9da68ce54d1f3ecf8b2ba38b2673c73",
+ "b168ee0a5b9ea35e8a68e5c472386246df0fa41f",
"testharness"
],
"streams/writable-streams/properties.any.js": [
@@ -710205,11 +724689,11 @@
"testharness"
],
"streams/writable-streams/start.any.js": [
- "0a1095b25062b2b46d8632d6239e60dc743d6604",
+ "96be6a7b18aa7eaa1f9b2f0ef40fba4f47839cf7",
"testharness"
],
"streams/writable-streams/write.any.js": [
- "c936ef55af99d4874d71e9c5eab57cac8d9b25a1",
+ "68da793985556635844b7711271a6ee0a9c7b1a5",
"testharness"
],
"subresource-integrity/META.yml": [
@@ -710705,11 +725189,11 @@
"testharness"
],
"svg/animations/scripted/SVGAnimationElement-exceptions.html": [
- "0ad8ad3df50cf77cb12a7f7da550fac4dc4b8689",
+ "fe06ac1a376d8f772d5ca1ba4ccf5b0ce672ab4c",
"testharness"
],
"svg/animations/scripted/SVGAnimationElement-getStartTime.html": [
- "5ffe98c3b855dac879062ade9a6061f0b8bd2274",
+ "fec3ff4db207306c8ac895d41d0de6f4bdc4ff34",
"testharness"
],
"svg/animations/scripted/end-element-on-inactive-element.svg": [
@@ -714245,7 +728729,7 @@
"support"
],
"svg/path/distance/pathLength-positive.svg": [
- "b40d6b82b55cce9d085652f60a5704c3971f7bfd",
+ "798b7ff3b8ae2bd19d415dc886c41617d87ccdc1",
"reftest"
],
"svg/path/distance/pathLength-zero-percentage-ref.svg": [
@@ -714264,6 +728748,54 @@
"4ae0b836f7f41a417f2f9e86d7c7847e20be17bd",
"reftest"
],
+ "svg/path/distance/pathlength-path-mutating.svg": [
+ "b3f71653f4214c0283ead06fa465a027001c433a",
+ "reftest"
+ ],
+ "svg/path/distance/pathlength-path-negative.svg": [
+ "ce782dbef76c0c04b5602d47f3202e3ff1f1c971",
+ "reftest"
+ ],
+ "svg/path/distance/pathlength-path-zero.svg": [
+ "f5c4168cd592bd6ea2bafed82e95e61a432c345f",
+ "reftest"
+ ],
+ "svg/path/distance/pathlength-path.svg": [
+ "79402505ca9b6dbec040bb6fc8615efebe3d10c5",
+ "reftest"
+ ],
+ "svg/path/distance/pathlength-rect-mutating.svg": [
+ "2dcbe4407909a43850f97a9a87e798f8cf713769",
+ "reftest"
+ ],
+ "svg/path/distance/pathlength-rect.svg": [
+ "106fed5f2eb11d4dffd09346f5913751947473a4",
+ "reftest"
+ ],
+ "svg/path/distance/reference/pathlength-path-mutating-ref.svg": [
+ "fe45125f6bbcd57e3d232c968527efeef32f13ab",
+ "support"
+ ],
+ "svg/path/distance/reference/pathlength-path-negative-ref.svg": [
+ "c4dfb1b2b5916354dde10a11d40973ddf6749780",
+ "support"
+ ],
+ "svg/path/distance/reference/pathlength-path-ref.svg": [
+ "79aca8720439c92541145f0c4968a130975c9f9a",
+ "support"
+ ],
+ "svg/path/distance/reference/pathlength-path-zero-ref.svg": [
+ "232bf66cbcdd10c079d5cc99621ed87068c0e8aa",
+ "support"
+ ],
+ "svg/path/distance/reference/pathlength-rect-mutating-ref.svg": [
+ "120941444a4898197d6b6001f9908a6cd48b62ba",
+ "support"
+ ],
+ "svg/path/distance/reference/pathlength-rect-ref.svg": [
+ "232178d732c3e9ebe7c5412b845eaacf6690d502",
+ "support"
+ ],
"svg/path/error-handling/bounding.svg": [
"85c089b25baa814e563e136bcba819e4bd80b2b1",
"testharness"
@@ -715185,7 +729717,7 @@
"testharness"
],
"svg/types/scripted/SVGAnimatedNumber.html": [
- "a1697cbf926774e4b8ef5e5967f539aff8296642",
+ "c72cabca1a84b8cf071b91097e23a4039468999b",
"testharness"
],
"svg/types/scripted/SVGAnimatedNumberList.html": [
@@ -715204,6 +729736,14 @@
"e268386b64e256383b606aa02ac1497e380d8f3f",
"testharness"
],
+ "svg/types/scripted/SVGGeometryElement.getPointAtLength-02.svg": [
+ "4cf93da6a18dfb57db426ae9da8a44beb5e7efbb",
+ "testharness"
+ ],
+ "svg/types/scripted/SVGGeometryElement.getTotalLength-01.svg": [
+ "49c8c165d70d66064643b50bd369ee4c5eaf05b6",
+ "testharness"
+ ],
"svg/types/scripted/SVGGeometryElement.isPointInFill-01.svg": [
"f9ae97e402dbe0d586853fff81fd1056d8cac78d",
"testharness"
@@ -715225,7 +729765,7 @@
"testharness"
],
"svg/types/scripted/SVGLength.html": [
- "2b043b99a629b2a840937a8f628e12e9b7affbf1",
+ "7436f5940c5d7432ab318759d3bb83df597c35af",
"testharness"
],
"svg/types/scripted/SVGLengthList-appendItem.html": [
@@ -715237,11 +729777,11 @@
"testharness"
],
"svg/types/scripted/SVGLengthList-basics.html": [
- "58d0e937bedeb2615ce74039046909d8ea53e990",
+ "685074d519fae3f5d59bd7c10f6d5a7c51f16fbf",
"testharness"
],
"svg/types/scripted/SVGLengthList-getItem.html": [
- "c81a23394468f2e4d586d4e6ece5be713470d485",
+ "ca27810e72d2d33fd865caa31d4a600ba9a11b40",
"testharness"
],
"svg/types/scripted/event-handler-all-document-element-events.svg": [
@@ -715249,7 +729789,7 @@
"testharness"
],
"svg/types/scripted/resources/SVGLengthList-helper.js": [
- "3cf888b7dbaeb370ef1b34409540337dee2c8e33",
+ "07697d6491b83414923e80a4a8c5a06f7471cce9",
"support"
],
"testharness_runner.html": [
@@ -715285,7 +729825,7 @@
"support"
],
"tools/META.yml": [
- "7cc22a28c20c01f2c602b6b79814fc6844054306",
+ "6f4bb000cfa13d17fed62892efbc8e46f2c57c72",
"support"
],
"tools/__init__.py": [
@@ -715373,7 +729913,7 @@
"support"
],
"tools/ci/azure/pip_install.yml": [
- "c8795345f6bcf4a943e07a459947e718ad6a0afc",
+ "eb7e790ba227081557eb1c22727a0df5a6f6e685",
"support"
],
"tools/ci/azure/safari-technology-preview.rb": [
@@ -715457,7 +729997,7 @@
"support"
],
"tools/ci/tc/decision.py": [
- "0c935b93f8ee87f66dadefddd3a116160ed9dd3f",
+ "4b23630012bd2cd4757d930dc4379396472ff486",
"support"
],
"tools/ci/tc/download.py": [
@@ -715469,7 +730009,7 @@
"support"
],
"tools/ci/tc/tasks/test.yml": [
- "e80e794203edca3c8d5f19ea9833a4f79e979f08",
+ "7476337e09bfd31f6fb68ecf2e17b33b4ac70d8b",
"support"
],
"tools/ci/tc/testdata/epochs_daily_push_event.json": [
@@ -715497,7 +730037,7 @@
"support"
],
"tools/ci/tc/tests/test_valid.py": [
- "b170928b290a27f75eada66162ea404a1dbae9f9",
+ "a194d370181d1fc7d420d136da349af5001b10f8",
"support"
],
"tools/ci/tests/test_jobs.py": [
@@ -716225,7 +730765,7 @@
"support"
],
"tools/requirements_mypy.txt": [
- "f3a56a6dd715ac6d6b01057a609a3e470ba8e303",
+ "a478015893d71a45953f9651844a35c2a46ba7d2",
"support"
],
"tools/runner/css/bootstrap-theme.min.css": [
@@ -720221,7 +734761,7 @@
"support"
],
"tools/tox.ini": [
- "e8673db0a69ae4695e7b1fa152c533aa1b0f98d1",
+ "6706c4787fcb440d1493be8b5ad7584e546d0396",
"support"
],
"tools/webdriver/.gitignore": [
@@ -720265,7 +734805,7 @@
"support"
],
"tools/wpt/browser.py": [
- "13ce823d0cecff9f84e131be80f101bd468e3cf5",
+ "bf1958fab9912044f4b26afc5a515b815463fb3f",
"support"
],
"tools/wpt/commands.json": [
@@ -720277,7 +734817,7 @@
"support"
],
"tools/wpt/install.py": [
- "3da697e5333a55510d0b63b74f79c236303b4c4f",
+ "4a368f9a4d6e72a2f92135cd31c7b4a774882aca",
"support"
],
"tools/wpt/mach-emulator.manifest": [
@@ -720313,15 +734853,15 @@
"support"
],
"tools/wpt/tests/test_browser.py": [
- "25b66e7d922f54edf197baaaf42c26c9fce04621",
+ "e7c32a3621186086102d5b44aade3c7f175f07aa",
"support"
],
"tools/wpt/tests/test_revlist.py": [
- "ec2a6b899d5d1a927dcad1f9a7583f987a3ad947",
+ "6b499dc5db43e48907cefea9f6384186dcc0822b",
"support"
],
"tools/wpt/tests/test_run.py": [
- "ef58ec41b2b4cfc14955b701627d047af78f29bc",
+ "4871301700929442c7245b80211380ccad5365cf",
"support"
],
"tools/wpt/tests/test_testfiles.py": [
@@ -720329,11 +734869,11 @@
"support"
],
"tools/wpt/tests/test_wpt.py": [
- "6569580e9ff471784e307b7e84555935dec99586",
+ "c8adef557d01b126ba8b93e69733c2ff5e917053",
"support"
],
"tools/wpt/tox.ini": [
- "6a044473a6b74981345683abb960588de6535bfb",
+ "8e3e26e135b4d376a492aea5adbd242797b03fe0",
"support"
],
"tools/wpt/update.py": [
@@ -720349,7 +734889,7 @@
"support"
],
"tools/wpt/wpt.py": [
- "93301dd86b4ffe202902a492204eba6537fb50d5",
+ "49ee6345381450c4087423b2f7d1c9538f813c92",
"support"
],
"tools/wptrunner/.gitignore": [
@@ -720389,7 +734929,7 @@
"support"
],
"tools/wptrunner/requirements.txt": [
- "ccf55d2ca7f15f16d779971ec70c2070dcadf921",
+ "4ebdb3ea5f282525afd8fbb01e74527eab03da2e",
"support"
],
"tools/wptrunner/requirements_android_webview.txt": [
@@ -720505,7 +735045,7 @@
"support"
],
"tools/wptrunner/test/test.py": [
- "8f323a3386c997cbcfa013e6585086471ddfa208",
+ "0e3b30c745a49a053e818e5f376a3f1237de77d5",
"support"
],
"tools/wptrunner/test/testdata/testharness/firefox/subdir/test_pref_inherit.html": [
@@ -720561,7 +735101,7 @@
"support"
],
"tools/wptrunner/tox.ini": [
- "ad3502e02a9e81016940c8f39f56540f5ab1f26d",
+ "c544da7a95d2a982cab8b68af537440b71fa096b",
"support"
],
"tools/wptrunner/wptrunner.default.ini": [
@@ -720621,7 +735161,7 @@
"support"
],
"tools/wptrunner/wptrunner/browsers/firefox_android.py": [
- "d6c8c4796615c1d33f15eea861defe25d78df2ee",
+ "0b4832f858ccaf91938ba23c52f618ce8cad8ef4",
"support"
],
"tools/wptrunner/wptrunner/browsers/ie.py": [
@@ -720809,7 +735349,7 @@
"support"
],
"tools/wptrunner/wptrunner/metadata.py": [
- "aafc7d52250f62fdcd7025858f2273290c77d49e",
+ "03d13f87015a79db38d8a12500b0dd1333dc4820",
"support"
],
"tools/wptrunner/wptrunner/process.py": [
@@ -720849,7 +735389,7 @@
"support"
],
"tools/wptrunner/wptrunner/testloader.py": [
- "8fcf66d64ed9cec5979ae2ef3b02320d5782b818",
+ "6c5b5a8ea00071bcdf6820103218545992496176",
"support"
],
"tools/wptrunner/wptrunner/testrunner.py": [
@@ -720889,7 +735429,7 @@
"support"
],
"tools/wptrunner/wptrunner/tests/test_products.py": [
- "5d2bcf075d0f572e8972eba5fdb4a5bd36b5db75",
+ "e64f5ad8945b1297147f33fc6a3e1546024797f1",
"support"
],
"tools/wptrunner/wptrunner/tests/test_stability.py": [
@@ -720929,7 +735469,7 @@
"support"
],
"tools/wptrunner/wptrunner/update/tree.py": [
- "9006df6719332ae592ee3861485d82c212423b48",
+ "f362770ff16d30e449de853f687467297b0ed077",
"support"
],
"tools/wptrunner/wptrunner/update/update.py": [
@@ -720973,11 +735513,11 @@
"support"
],
"tools/wptrunner/wptrunner/wptmanifest/node.py": [
- "77b17a50325c77067391ab6639d0e029e3395047",
+ "0f82d7006b69ed0e485290387b65768b859a8700",
"support"
],
"tools/wptrunner/wptrunner/wptmanifest/parser.py": [
- "b8b840fcaee1514712c2b0d26cc62891c96051b3",
+ "abb6d4da7c8b2f44a545d9ebf0075f4ca44b570b",
"support"
],
"tools/wptrunner/wptrunner/wptmanifest/serializer.py": [
@@ -721281,7 +735821,7 @@
"support"
],
"tools/wptserve/tests/test_stash.py": [
- "1ea99c0609f5bed859651284eb3da80a4cddf737",
+ "31af1558b0cc5c046843e0e96569db42c467cf22",
"support"
],
"tools/wptserve/wptserve/__init__.py": [
@@ -721297,7 +735837,7 @@
"support"
],
"tools/wptserve/wptserve/handlers.py": [
- "c18fa2d3792597a4c2a850dda233be56590c67ea",
+ "fea1277b0d1cb5cac8ca445ab059947412669acc",
"support"
],
"tools/wptserve/wptserve/logger.py": [
@@ -721305,7 +735845,7 @@
"support"
],
"tools/wptserve/wptserve/pipes.py": [
- "3500948fc8c296daa3baf6ba0965f8262ddf9fb3",
+ "569875bf972819d526022fc590c55fc621c02485",
"support"
],
"tools/wptserve/wptserve/ranges.py": [
@@ -721401,11 +735941,11 @@
"testharness"
],
"touch-events/touch-touchevent-constructor.html": [
- "1b723b7bb3c5cebc0701e2393e334a1e99ce2ef3",
+ "e2d0950d5e27aa9905a9c2e1ca26242ed57fee53",
"testharness"
],
"trusted-types/DOMParser-parseFromString-regression.tentative.https.html": [
- "30986e45d2671caec84879314b43891664dd10ae",
+ "cc57ee7f8ea4cf42407868463e396cb2a4260d76",
"testharness"
],
"trusted-types/DOMParser-parseFromString.tentative.html": [
@@ -721465,7 +736005,7 @@
"testharness"
],
"trusted-types/TrustedTypePolicy-CSP-no-name.tentative.html": [
- "18819b20894644094684df6ca48d7e5a5b762d8e",
+ "b1c7f51ddb3a14603cf6f11ea437484f09366c74",
"testharness"
],
"trusted-types/TrustedTypePolicy-CSP-wildcard.tentative.html": [
@@ -721473,11 +736013,11 @@
"testharness"
],
"trusted-types/TrustedTypePolicy-CSP.tentative.html": [
- "8ae162558f41fe0b8015292fe8be84433469311e",
+ "3a56546151e4e8fcef6bfecafa42cd50dd01ebcc",
"testharness"
],
"trusted-types/TrustedTypePolicy-createXXX.tentative.html": [
- "34fbf5587daf725222dd191fc941fffe2630e106",
+ "7e39042e1cb86c042367b5fc08e4e4e72c934165",
"testharness"
],
"trusted-types/TrustedTypePolicy-getPolicyNames.tentative.html": [
@@ -721489,11 +736029,11 @@
"testharness"
],
"trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.tentative.html": [
- "a78b3dbf0fd7a9532a45957970076cce16819231",
+ "746d89fa3f8c3f21cb64d6fb348de15ef9b1f3e2",
"testharness"
],
"trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-noNamesGiven.tentative.html": [
- "cec1bfb6041e525557c92f4cd7621c64f065654b",
+ "15728b9888f3cb0c7d9f509c86949f8942a66a22",
"testharness"
],
"trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-wildcard.tentative.html": [
@@ -721501,11 +736041,11 @@
"testharness"
],
"trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.tentative.html": [
- "8ae162558f41fe0b8015292fe8be84433469311e",
+ "3a56546151e4e8fcef6bfecafa42cd50dd01ebcc",
"testharness"
],
"trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.tentative.html": [
- "0b1872abe5036d93618ae3849d52497511bb51b5",
+ "f049484f1199a088db7e60c4b899a1150c70906b",
"testharness"
],
"trusted-types/TrustedTypePolicyFactory-createPolicy-unenforced.tentative.html": [
@@ -721525,11 +736065,11 @@
"testharness"
],
"trusted-types/TrustedTypePolicyFactory-metadata.tentative.html": [
- "67c734b5a4285576bbe51f6e4f67e674ca1c1c03",
+ "50f877cda07f05e6f9fc916637bc8c3ecaa9da3b",
"testharness"
],
"trusted-types/Window-TrustedTypes.tentative.html": [
- "c61d9207b65f430b08c6801a5ffc04d3d0efedd1",
+ "718c763afafd12bfa498eb8827fb1b12b509c51d",
"testharness"
],
"trusted-types/WorkerGlobalScope-importScripts.https.html": [
@@ -721537,35 +736077,35 @@
"testharness"
],
"trusted-types/block-Node-multiple-arguments.tentative.html": [
- "879d34f96126945fb3ae78d9c5f86ccb04b1f39c",
+ "d66b8c8f25b64e214312bb9cd507a5901ebde53c",
"testharness"
],
"trusted-types/block-string-assignment-to-DOMParser-parseFromString.tentative.html": [
- "12cef6af661a5f56f59cdd7e6a5f81ae6e200b0c",
+ "bd038635df73560e23bf7ad4a50c93cebf827822",
"testharness"
],
"trusted-types/block-string-assignment-to-DOMWindowTimers-setTimeout-setInterval.tentative.html": [
- "6d723ba23b6b196d97c3e5816e7d867803b95eb0",
+ "d2764936675168b3d0ea052f3860bcd95c049024",
"testharness"
],
"trusted-types/block-string-assignment-to-Document-write.tentative.html": [
- "1049b46563d4b95d089db0d18b37b90970f1018b",
+ "fa87d119f79f69a020e75c9749e04b4f73d6a7dd",
"testharness"
],
"trusted-types/block-string-assignment-to-Element-insertAdjacentHTML.tentative.html": [
- "1e8c091d87e70b5d3d037dd1a49fd4774aa56628",
+ "c91e4e56acd483fe935839c3d95c712b6a1d76bc",
"testharness"
],
"trusted-types/block-string-assignment-to-Element-outerHTML.tentative.html": [
- "17815e6a9e9bfe4199d089f03504aa89d09203ff",
+ "397606bc056a8dd7729c5eb9ef66aeef59dda9db",
"testharness"
],
"trusted-types/block-string-assignment-to-Element-setAttribute.tentative.html": [
- "47c4c3557f8363af8fd3937401345ac56c9941eb",
+ "e6abf602fb08817bc3cdb9828ae4c490922389e5",
"testharness"
],
"trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html": [
- "cc8b05e8c8370a50da89d8232e7276ae4b75b356",
+ "aa13d72ceb2f53d4fbf17ef80e6e66c4298f6ca3",
"testharness"
],
"trusted-types/block-string-assignment-to-HTMLElement-generic.tentative.html": [
@@ -721573,19 +736113,19 @@
"testharness"
],
"trusted-types/block-string-assignment-to-Range-createContextualFragment.tentative.html": [
- "a57376206de6f1383ed716494fe328a842d37ba1",
+ "b38e4f3da5f8728eb3b67e63b250d63734a1b0aa",
"testharness"
],
"trusted-types/block-text-node-insertion-into-script-element.tentative.html": [
- "1f5e8fda7aeacc4494643b570c9526fc3a855caa",
+ "607a622f2b3e9eec6f1145b59be47012e7cdf723",
"testharness"
],
"trusted-types/csp-block-eval.tentative.html": [
- "93a97f15f8a972793e6f63108aeaa36dec431157",
+ "7902ca4040f582427e36941b6779e1bcdc51abf8",
"testharness"
],
"trusted-types/default-policy-report-only.tentative.html": [
- "ba23d7a3678e12419f077cd870e5e56fa701ad63",
+ "1cff751a80194bfaef6095617a89a423b76e70b2",
"testharness"
],
"trusted-types/default-policy-report-only.tentative.html.headers": [
@@ -721593,7 +736133,7 @@
"support"
],
"trusted-types/default-policy.tentative.html": [
- "955cdfaa4042119f04ad21622fdc804872613e0f",
+ "debde85cdac9d7bb1bcb19b56f7063fea0a53241",
"testharness"
],
"trusted-types/default-policy.tentative.html.headers": [
@@ -721609,7 +736149,7 @@
"support"
],
"trusted-types/empty-default-policy.tentative.html": [
- "2d3a10addbc25221babc37550e36acb8c7252a4b",
+ "d31b48ecd5a86670b7c6ea3c4d993cd3f11946df",
"testharness"
],
"trusted-types/empty-default-policy.tentative.html.headers": [
@@ -721625,7 +736165,7 @@
"testharness"
],
"trusted-types/eval-csp-tt-no-default-policy.tentative.html": [
- "0da09a8a5cd1c2d353b17850ff89b607afa1873f",
+ "6d48ae48a01a1558e97efebc65ac9f42a893329a",
"testharness"
],
"trusted-types/eval-no-csp-no-tt-default-policy.tentative.html": [
@@ -721637,7 +736177,7 @@
"testharness"
],
"trusted-types/eval-with-permissive-csp.tentative.html": [
- "32f12d8e129d69c225cc26e3b886f4ff91469542",
+ "5a35561438ab93c5066c4191bfcf3db0ddb83977",
"testharness"
],
"trusted-types/idlharness.tentative.window.js": [
@@ -721665,11 +736205,11 @@
"support"
],
"trusted-types/require-trusted-types-for.tentative.html": [
- "95cfc4d106e5adfe6539641a3b046796b257b972",
+ "2a3820a89b8ad36c324139bf75fab8d72d7087a4",
"testharness"
],
"trusted-types/support/WorkerGlobalScope-importScripts.https.js": [
- "fa63c8bad0fcd9f93d89c8c3bea2d8a0b59d2094",
+ "c40e8550dd659e2656564f5b3b61a0e5cb591710",
"support"
],
"trusted-types/support/WorkerGlobalScope-importScripts.https.js.headers": [
@@ -721677,7 +736217,7 @@
"support"
],
"trusted-types/support/helper.sub.js": [
- "20f56c3cbc7af094a7fd8db5d73b546804f8e9d0",
+ "2d1bd436bdf35f54474c8b53eb422d1948a7fa8c",
"support"
],
"trusted-types/support/navigation-report-only-support.html": [
@@ -721701,7 +736241,7 @@
"support"
],
"trusted-types/trusted-types-createHTMLDocument.tentative.html": [
- "711e494a1607d575e1ee7f48693b5a442617ac42",
+ "ac95d9e64de97d96c18fdfad9b7b99b737228c59",
"testharness"
],
"trusted-types/trusted-types-duplicate-names-list-report-only.tentative.html": [
@@ -721713,11 +736253,11 @@
"support"
],
"trusted-types/trusted-types-duplicate-names-list.tentative.html": [
- "839f2ef7a3ac5e6d1bc78e3b892e8b898370de1e",
+ "9a895ffa2ad2b1cc56b6e1727c6e184ab26e1420",
"testharness"
],
"trusted-types/trusted-types-duplicate-names.tentative.html": [
- "fb808246ac8aa093938a6ce85f8b5fb3675da357",
+ "e817cf145a260b1e355e5fc06288d8c959a42779",
"testharness"
],
"trusted-types/trusted-types-eval-reporting-no-unsafe-eval.tentative.https.html": [
@@ -721737,7 +736277,7 @@
"support"
],
"trusted-types/trusted-types-eval-reporting.tentative.https.html": [
- "a521f94389ae0412a36b87f60d5428415b184a88",
+ "90007168a13d1d141dc149c42aa92c645f64bf28",
"testharness"
],
"trusted-types/trusted-types-eval-reporting.tentative.https.html.headers": [
@@ -721773,7 +736313,7 @@
"support"
],
"trusted-types/tt-block-eval.tentative.html": [
- "8fe8aa50d6c9f8e3ac5f1a01a0d41f84a5c03549",
+ "f9c1a5d0b12365506fb62ec43a23d9bca4f61cf1",
"testharness"
],
"uievents/META.yml": [
@@ -721885,7 +736425,7 @@
"support"
],
"uievents/legacy/Event-subclasses-init.html": [
- "676eec9280907b86201ca98963c36bc1e5263c33",
+ "a79a9f18adba6e329b6be8c45724417b4e337fde",
"testharness"
],
"uievents/mouse/layout_change_should_fire_mouseover-manual.html": [
@@ -725073,11 +739613,11 @@
"testharness"
],
"url/failure.html": [
- "ac16edf8c743af2650b2b78f570c84f2bc75ecda",
+ "8f3d0299a40fdbff76e286cf45bc739cf2f3cf84",
"testharness"
],
"url/historical.any.js": [
- "407e118f3a05f986c29011c698b5081743c6b62c",
+ "c3067dfd730123585c3c5c81b082df9a07e4c556",
"testharness"
],
"url/idlharness.any.js": [
@@ -725109,7 +739649,7 @@
"testharness"
],
"url/url-constructor.html": [
- "cb4c0db3571d2f20efb1215faa0ba867fb321c15",
+ "7ddcdc88170c202347b072d88f6a47477a776045",
"testharness"
],
"url/url-origin.html": [
@@ -725117,7 +739657,7 @@
"testharness"
],
"url/url-searchparams.any.js": [
- "c55ae58d3b1e5be919296d541a01c65b56203e3a",
+ "34d4a4b068983167183df267d956c5422da8c9ca",
"testharness"
],
"url/url-setters.html": [
@@ -725221,7 +739761,7 @@
"testharness"
],
"user-timing/invoke_with_timing_attributes.html": [
- "6c06f5e9d527b2a0cf3d7d2c02b334a24c9d4f25",
+ "1df94a3006d7fb93039875d1cdb0b4c34385d54f",
"testharness"
],
"user-timing/invoke_with_timing_attributes.worker.js": [
@@ -725229,7 +739769,7 @@
"testharness"
],
"user-timing/invoke_without_parameter.html": [
- "e47a3ba7a981e978cdf015f8fc6bfbae6762dba9",
+ "114435e59befbba8f760d45e1413ffc56d2e864b",
"testharness"
],
"user-timing/mark-entry-constructor.any.js": [
@@ -725237,7 +739777,7 @@
"testharness"
],
"user-timing/mark-errors.any.js": [
- "3207d18b048daf1118f20c375303efa376e0daf3",
+ "dcd36695e22f2c0c333e77cb910e1023ecd557fe",
"testharness"
],
"user-timing/mark-l3.any.js": [
@@ -725261,11 +739801,11 @@
"testharness"
],
"user-timing/mark_exceptions.html": [
- "e1f4c4e0f49484cedd8b6025bbe854c0503c94c1",
+ "b445c6b8778ae7aa0cff1cfcdbe789c2b0ddfc7d",
"testharness"
],
"user-timing/measure-exceptions.html": [
- "0c532e79390e81393fdb71ea5dd59bbed1e65c38",
+ "2836eaee2a86c10997893f3e9b77c86079030019",
"testharness"
],
"user-timing/measure-l3.any.js": [
@@ -725273,7 +739813,7 @@
"testharness"
],
"user-timing/measure-with-dict.any.js": [
- "95160fea8941d55a04381f46b730afc5a0956901",
+ "b452feb0de6fbb4749208baf0153bb12ab79ef04",
"testharness"
],
"user-timing/measure.html": [
@@ -725289,7 +739829,7 @@
"testharness"
],
"user-timing/measure_exceptions_navigation_timing.html": [
- "1633221198c3164475c843ac61dd5308802f3013",
+ "b1868b2cb6b3cb1b27b4774a9b30156b5b8952a7",
"testharness"
],
"user-timing/measure_navigation_timing.html": [
@@ -725297,7 +739837,7 @@
"testharness"
],
"user-timing/measure_syntax_err.any.js": [
- "84829f11eb166c4b067fcac622483148eac2c4cb",
+ "9b762a40906351500527b9464837f50c04f77f3b",
"testharness"
],
"user-timing/measures.html": [
@@ -725305,7 +739845,7 @@
"testharness"
],
"user-timing/performance-measure-invalid.worker.js": [
- "dedd6da8884f1afffb18a61a800970796d678a20",
+ "29efb729992cc6edae17ac19c8bebbc316af1aa5",
"testharness"
],
"user-timing/resources/user-timing-helper.js": [
@@ -725321,7 +739861,7 @@
"support"
],
"user-timing/structured-serialize-detail.any.js": [
- "0c4be9a3bcb0acbdeed2a2c4dae22ab2a1a3d587",
+ "78771b2f7663d4384b03f79e050144be39a4882f",
"testharness"
],
"user-timing/supported-usertiming-types.any.js": [
@@ -725369,7 +739909,7 @@
"testharness"
],
"vibration/invalid-values.html": [
- "9381dadcc06e5d301b5531f0679ce44f943e8740",
+ "a8b2534feac01173cc79bda6a9cefb0f93e8fa11",
"testharness"
],
"vibration/pattern-array-extra-manual.html": [
@@ -726573,11 +741113,11 @@
"testharness"
],
"wasm/jsapi/constructor/validate.any.js": [
- "57fa3359770f2c1be7d20186c5ecb8564f72a132",
+ "a0eaa3fb87d62497379d1e7b2320a3fc43e9508f",
"testharness"
],
"wasm/jsapi/global/constructor.any.js": [
- "237f99c8b298183a557c10778c70e1d359b9d6b6",
+ "cb287da4e9afa1a4006bc6c091cda22081492960",
"testharness"
],
"wasm/jsapi/global/toString.any.js": [
@@ -726585,11 +741125,11 @@
"testharness"
],
"wasm/jsapi/global/value-get-set.any.js": [
- "7b45ddc20b273f55a7bf1a83de03373100c736e3",
+ "69f0e46379ffd20a3b9bfb190487376d616d916e",
"testharness"
],
"wasm/jsapi/global/valueOf.any.js": [
- "d4a84b254f76ea50284619967ab6dc98c99bfea2",
+ "0d4de93a6bd229f8d9fab7941b24a1944dc6aa78",
"testharness"
],
"wasm/jsapi/idlharness.any.js": [
@@ -726605,11 +741145,11 @@
"testharness"
],
"wasm/jsapi/instance/constructor.any.js": [
- "1ce4de904e16da04b68137fbcdf71a49c402204b",
+ "745c3f8495123b4b67fd1e9402304ceff49278a6",
"testharness"
],
"wasm/jsapi/instance/exports.any.js": [
- "2ba57c5e2fd99c37b866771c573133be97f3a5d0",
+ "7c81a41295b0a1f2e20ee7972291e1099f2375fe",
"testharness"
],
"wasm/jsapi/instance/toString.any.js": [
@@ -726621,19 +741161,19 @@
"support"
],
"wasm/jsapi/interface.any.js": [
- "98c4a1d781b7d77709a7f1df5adb3c756648fbd3",
+ "88940be51a7f5727c27e167d9e10abbaeb04a06b",
"testharness"
],
"wasm/jsapi/memory/buffer.any.js": [
- "4788ffcf84ff8d88adbafbe416dd7d5b80ec89d1",
+ "a835e6511a0a6c53c36a0ffd8143f4a1a7388eca",
"testharness"
],
"wasm/jsapi/memory/constructor.any.js": [
- "cef713fe0fe74f009e9f8aadd9168e7fa5138eb0",
+ "8bd606e321283a3ab91fecc1511c915c82dcd26a",
"testharness"
],
"wasm/jsapi/memory/grow.any.js": [
- "11c41942510b65b62b63468cc332b803445321de",
+ "f07a97c92758ac7138b6ac521f3f2b7286214139",
"testharness"
],
"wasm/jsapi/memory/toString.any.js": [
@@ -726641,19 +741181,19 @@
"testharness"
],
"wasm/jsapi/module/constructor.any.js": [
- "03e508aa1e0f10e7476d74c642153470f18a73f7",
+ "1fffb6cd4f3b9013f5b65987dfeef8c0a46c6c8f",
"testharness"
],
"wasm/jsapi/module/customSections.any.js": [
- "09355979d84ade5385e7b3a5ac265eaa0da500cf",
+ "298d89604cf739ba6ef9929da9162bdf6beb4c80",
"testharness"
],
"wasm/jsapi/module/exports.any.js": [
- "eadfc84f1e4e774202c96667e9a6e162359d967e",
+ "83f97dd67a1e419c10c399b26fc50e1d37de3405",
"testharness"
],
"wasm/jsapi/module/imports.any.js": [
- "9d7ef2f0a9b90a69f40cc29a82193efb7ce5aae8",
+ "91e4be33aca6955d8b67cf0b51ddd7323ae62843",
"testharness"
],
"wasm/jsapi/module/toString.any.js": [
@@ -726661,27 +741201,27 @@
"testharness"
],
"wasm/jsapi/table/assertions.js": [
- "c88972b4ebdcd760b2a441835c2c9eb31dabfea8",
+ "c42a446a75d01f172dd0ef28a836553e79566156",
"support"
],
"wasm/jsapi/table/constructor.any.js": [
- "99eee19fecd49e432c7f6774c0968218e6d931a3",
+ "a494a9e559b92136e3616d16f73b08a72a8b222b",
"testharness"
],
"wasm/jsapi/table/get-set.any.js": [
- "bd053b389c904ed9b2587ad2817650d31fde7504",
+ "175f30fbcadca6e9a3b698ec677779fc56175239",
"testharness"
],
"wasm/jsapi/table/grow-reftypes.tentative.any.js": [
- "807aea991bbc82eaa4702a12f5b1093baaef6d10",
+ "54141c059ed04e0654fa6be24d2d3f8f01209509",
"testharness"
],
"wasm/jsapi/table/grow.any.js": [
- "558b49d1c7d3bcba9798370792fa4b6f83332105",
+ "f543cc620bcc4ccc0e706d0dcb8e68af4210a24e",
"testharness"
],
"wasm/jsapi/table/length.any.js": [
- "b1bfa6cfd1f44fbdbf18769b3f3e8129310c7e0e",
+ "f4e1148479729061a7f40e68311add43e0c51b1c",
"testharness"
],
"wasm/jsapi/table/toString.any.js": [
@@ -726697,7 +741237,7 @@
"support"
],
"wasm/serialization/arraybuffer/transfer.window.js": [
- "3edfdaad958b09dfc3727e2d27e89b55549cb4e2",
+ "b2b5697fca306a9e3fa05cc60abac172dbc4275e",
"testharness"
],
"wasm/serialization/module/broadcastchannel-success-and-failure.html": [
@@ -726705,7 +741245,7 @@
"testharness"
],
"wasm/serialization/module/broadcastchannel-success.html": [
- "cd5f8d0b56a19148dbd01b4218869f1f0c3526fd",
+ "ddc242b82ef99403f48dfff0963c8576a73e0b31",
"testharness"
],
"wasm/serialization/module/identity-not-preserved.html": [
@@ -726721,7 +741261,7 @@
"testharness"
],
"wasm/serialization/module/no-transferring.html": [
- "a0bf11f01dd459b2e3abeb249f725e1e05d1532f",
+ "2f0f674b1fcfd460f60714abba6dc03b377cafbb",
"testharness"
],
"wasm/serialization/module/resources/blank.html": [
@@ -726805,15 +741345,15 @@
"support"
],
"wasm/serialization/module/serialization-via-history.html": [
- "35dc17b6701fadf920ce251ec6c63da1c26b6570",
+ "38d4301d70bc896680169158ec480a2f74d533b1",
"testharness"
],
"wasm/serialization/module/serialization-via-idb.any.js": [
- "1d861c3d3aa1072b1c90332fec7ac993d3b59552",
+ "10c99c4d31cb4cc57a3435a2490e0cb3a0e1d081",
"testharness"
],
"wasm/serialization/module/serialization-via-notifications-api.any.js": [
- "84105651d3b53192f453b9f16bb85163165495cb",
+ "3672192df798a13dd086fa4b86c5125ac87a6c51",
"testharness"
],
"wasm/serialization/module/window-domain-success.sub.html": [
@@ -726857,7 +741397,7 @@
"testharness"
],
"wasm/webapi/historical.any.js": [
- "0fe1e1c891fa7ee7d79c6895f8b38f4f207e6b23",
+ "257112c4160f5424d12d175319322c2f5ae1576b",
"testharness"
],
"wasm/webapi/idlharness.any.js": [
@@ -726901,7 +741441,7 @@
"support"
],
"web-animations/README.md": [
- "75493ce57b4c242195d9fb56e73154865d6f59bf",
+ "c41e0e048efe704917b05894ab72c3f60f5a9a97",
"support"
],
"web-animations/animation-model/animation-types/accumulation-per-property.html": [
@@ -726997,7 +741537,7 @@
"testharness"
],
"web-animations/interfaces/Animation/commitStyles.html": [
- "d3a95e053e3ebf07f1eea5974fd7aec020d52bd1",
+ "40cb2634e41a41bac6b9699f4c815c3f8e3b57dd",
"testharness"
],
"web-animations/interfaces/Animation/constructor.html": [
@@ -727025,7 +741565,7 @@
"testharness"
],
"web-animations/interfaces/Animation/pause.html": [
- "0649c2f617df45d896c38f14a706f150b02dc82c",
+ "74d0724ef427f6b1752012e876d338d8b8ec4d60",
"testharness"
],
"web-animations/interfaces/Animation/pending.html": [
@@ -727037,7 +741577,7 @@
"testharness"
],
"web-animations/interfaces/Animation/play.html": [
- "3e8f923d544adb54a60193ffd42c097077334d38",
+ "d29b67b7992860d072c73bcbbeaa269d8aea10dc",
"testharness"
],
"web-animations/interfaces/Animation/ready.html": [
@@ -727057,7 +741597,7 @@
"testharness"
],
"web-animations/interfaces/AnimationEffect/updateTiming.html": [
- "f4f672ab1aac76905e3258144fbf022201df0f53",
+ "6a340c0bf47a298d3c04340e91d8026680aa9ba1",
"testharness"
],
"web-animations/interfaces/AnimationPlaybackEvent/constructor.html": [
@@ -727085,7 +741625,7 @@
"testharness"
],
"web-animations/interfaces/KeyframeEffect/constructor.html": [
- "46a23b0c2e87aef9d36c86960b4f9c2d254f3140",
+ "f9d552e63ec55aefaab282d7dc9a352cc00fb263",
"testharness"
],
"web-animations/interfaces/KeyframeEffect/copy-constructor.html": [
@@ -727101,11 +741641,11 @@
"testharness"
],
"web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html": [
- "5bd0ae2b1edbb508d45ac64258332fcaddf5434c",
+ "87e60a2b1085125040a454763216ed335f249e6c",
"testharness"
],
"web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html": [
- "e78e13d69aa5e8004c4ec49de2bc98b6bfb6a54a",
+ "4b0e15c9a2f73a81eb181691c8c096fecc55edae",
"testharness"
],
"web-animations/interfaces/KeyframeEffect/setKeyframes.html": [
@@ -727181,7 +741721,7 @@
"testharness"
],
"web-animations/timing-model/animations/finishing-an-animation.html": [
- "779bee184b8dbde227db6ae72dc7ff83a79c4176",
+ "b91eacfb689cac397be47a17909a7c1edf583824",
"testharness"
],
"web-animations/timing-model/animations/pausing-an-animation.html": [
@@ -727205,7 +741745,7 @@
"reftest"
],
"web-animations/timing-model/animations/reversing-an-animation.html": [
- "75fd9876c0495a8bd0096d2f976a920d3d7e5a05",
+ "8d869d72aaffc44f07c6d3e30cd26ac53ac281d3",
"testharness"
],
"web-animations/timing-model/animations/seamlessly-updating-the-playback-rate-of-an-animation.html": [
@@ -727213,7 +741753,7 @@
"testharness"
],
"web-animations/timing-model/animations/setting-the-current-time-of-an-animation.html": [
- "6687ad7612e2b37fc7d4d5604e27252cbeb7166d",
+ "22f88adb8b4268b4a1b11af6cfb287e7ac634809",
"testharness"
],
"web-animations/timing-model/animations/setting-the-playback-rate-of-an-animation.html": [
@@ -727465,7 +742005,7 @@
"testharness"
],
"web-nfc/NDEFRecord_constructor.https.html": [
- "bf4697f8b17ca97de735dc0851a2f48766b1a6b6",
+ "66befaa30a7e32aa762b8bcb806e64632ce4e0c9",
"testharness"
],
"web-nfc/NDEFWriter-document-hidden-manual.https.html": [
@@ -727501,7 +742041,7 @@
"support"
],
"web-share/canShare-files.tentative.https.html": [
- "98863a4e2112e870d675a657811a3f464552e299",
+ "2c2f2ff9699020b0ffcaf97c65aa75eaafe799e2",
"testharness"
],
"web-share/canShare-insecure.tentative.http.html": [
@@ -727765,7 +742305,7 @@
"testharness"
],
"webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html": [
- "a8b5a7154e94479460c1085c6b5cb584e9b6976c",
+ "e8325388d1bf01e7bebe881ad0da1583f0e2f481",
"testharness"
],
"webaudio/the-audio-api/the-audiobuffer-interface/.gitkeep": [
@@ -728333,7 +742873,7 @@
"testharness"
],
"webaudio/the-audio-api/the-constantsourcenode-interface/test-constantsourcenode.html": [
- "1e0d7255c556bec234ec57dd229f544e00c93749",
+ "7cefde8f2857f207267087a36bc765c0782698f3",
"testharness"
],
"webaudio/the-audio-api/the-convolvernode-interface/.gitkeep": [
@@ -728429,7 +742969,7 @@
"testharness"
],
"webaudio/the-audio-api/the-destinationnode-interface/destination.html": [
- "cda5668a09b6cc4d3eade92b1f70e9d3a4cdb913",
+ "1af0e0f010b3c83c36e705c537510ee91159fb38",
"testharness"
],
"webaudio/the-audio-api/the-dynamicscompressornode-interface/.gitkeep": [
@@ -728481,7 +743021,7 @@
"testharness"
],
"webaudio/the-audio-api/the-iirfilternode-interface/test-iirfilternode.html": [
- "61c11ffc5083a90ba7a29183a521a7aacac38f72",
+ "001a2a6172438207b50c16f707bd74a1524fd3dc",
"testharness"
],
"webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/.gitkeep": [
@@ -728513,7 +743053,7 @@
"support"
],
"webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-ctor.html": [
- "fea042ca530d5c92de3edf358af8b21973187e13",
+ "a711419656979bccaca95e08f26035ebd2a0c4c9",
"testharness"
],
"webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-routing.html": [
@@ -728669,35 +743209,35 @@
"testharness"
],
"webauthn/META.yml": [
- "e8ea8e059854c2eda47b038dbd861253726d9c63",
+ "a52d978f0eac073ea327e13eb6b8773f89d6091b",
"support"
],
"webauthn/createcredential-badargs-attestation.https.html": [
- "a56f4f031434198ec4f77f05ad09aa46e09cf445",
+ "6bce3233a1c029fb705a245afd0913beab1f56e7",
"testharness"
],
"webauthn/createcredential-badargs-authnrselection.https.html": [
- "a9ea8753c6a000e6afbdecb1c66d29fb0292dcf5",
+ "87bdb040055b403b3fca64b3ae6e0e80e2cffd65",
"testharness"
],
"webauthn/createcredential-badargs-challenge.https.html": [
- "6c03295bc9c87cb925d7fe791fecfeeac095e938",
+ "554fc0ec43b8d7265b8f0bf003641a9f5cba150c",
"testharness"
],
"webauthn/createcredential-badargs-rp.https.html": [
- "67598687cd24dc28359c040a20b2061691dcf025",
+ "890ba21a81bb2bcc585a2c3969f2155f54361b4b",
"testharness"
],
"webauthn/createcredential-badargs-user.https.html": [
- "f03f233215a101212c876a65406dfa21319bd664",
+ "070a5c77dea294d340033424872a774786167986",
"testharness"
],
"webauthn/createcredential-excludecredentials.https.html": [
- "a5294c743ad9661cd25d103b5f25352707bba51a",
+ "de72afc1f588586ddaea2d8fd87920c0de8d85fe",
"testharness"
],
"webauthn/createcredential-extensions.https.html": [
- "01afb3344a5f149cc6d7a6696118d41ea8ab1230",
+ "f4a05c3042f8172dcdc4737a30c15af4bd6af8d4",
"testharness"
],
"webauthn/createcredential-passing.https.html": [
@@ -728705,11 +743245,11 @@
"testharness"
],
"webauthn/createcredential-pubkeycredparams.https.html": [
- "50166bbf141f06d3a5cb1d3915792ad33f869508",
+ "34622fdf74e50b65a425488a94f17cbc4364b59f",
"testharness"
],
"webauthn/createcredential-timeout.https.html": [
- "b94ae582d3e77c3cdee849b77cd39c69db961bf2",
+ "d4aa459240b732dfdcebdd85c2afccd862a9d947",
"testharness"
],
"webauthn/getcredential-badargs-rpid.https.html": [
@@ -728717,11 +743257,11 @@
"testharness"
],
"webauthn/getcredential-badargs-userverification.https.html": [
- "60f2e28b6ff181fd87d50ca68a9769454b9f7f31",
+ "5bc579bc3335e56aa71adcc5d3a58bab8d51f898",
"testharness"
],
"webauthn/getcredential-extensions.https.html": [
- "bc7a80d40ee1416d71e9bd937308fa0f60c08b45",
+ "763f48b70f34428e83a3a5d6419e7726d45211bb",
"testharness"
],
"webauthn/getcredential-passing.https.html": [
@@ -728729,11 +743269,11 @@
"testharness"
],
"webauthn/getcredential-timeout.https.html": [
- "84dbad8c0bb0bdd814c02870f27918013ba99fd8",
+ "e6cd884ae064a59976c9191ff09da106e6de9739",
"testharness"
],
"webauthn/helpers.js": [
- "73474b5ecbfd5b5f2f83d8e4b3ad7f317f75a5bd",
+ "bbbba464948c77d57bf3fbc19f31cd4579551229",
"support"
],
"webauthn/idlharness-manual.https.window.js": [
@@ -729733,11 +744273,11 @@
"support"
],
"webgl/compressedTexImage2D.html": [
- "b0a031add0be018f995e4463114d333a0d9eb85a",
+ "a974c65002448c0df1beb97f93d5cd1476f254ca",
"testharness"
],
"webgl/compressedTexSubImage2D.html": [
- "539f9e17f8a811c5acb4f07cf6cbd17015726632",
+ "20c5ff9bd3841ca190f2d171842e28076ee00e0f",
"testharness"
],
"webgl/idlharness.any.js": [
@@ -729745,11 +744285,11 @@
"testharness"
],
"webgl/texImage2D.html": [
- "2f769160dfdeaa3b0a73380e5540b30dfc971489",
+ "86b84d1a999f165ef63fbb24ccf0587e4f6a01a3",
"testharness"
],
"webgl/texSubImage2D.html": [
- "294b30c7607edc38aed19a31e44c5237eee8b970",
+ "7a6c2091822a2194e851b7adcdd59cc27840df6d",
"testharness"
],
"webgl/uniformMatrixNfv.html": [
@@ -730053,7 +744593,7 @@
"testharness"
],
"webmessaging/Channel_postMessage_DataCloneErr.htm": [
- "9f4cd6b9be711e90c435140bab5183aa10e18e31",
+ "d2885d2947fd1872325c5a86d2a03154ac4da38c",
"testharness"
],
"webmessaging/Channel_postMessage_clone_port.htm": [
@@ -730061,7 +744601,7 @@
"testharness"
],
"webmessaging/Channel_postMessage_clone_port_error.htm": [
- "c33feaa5f0947a275e1cb39d920be7a2658cb97e",
+ "bdc77e3b99d833cd008ad7ab39e0f137e4c4d75e",
"testharness"
],
"webmessaging/Channel_postMessage_event_properties.htm": [
@@ -730069,7 +744609,7 @@
"testharness"
],
"webmessaging/Channel_postMessage_ports_readonly_array.htm": [
- "4ccf3ac4f3535676fb45ee591ed6ee75fc32f289",
+ "74027130377a9d27803290d9769426a6af2f8877",
"testharness"
],
"webmessaging/Channel_postMessage_target_source.htm": [
@@ -730105,7 +744645,7 @@
"testharness"
],
"webmessaging/MessageEvent.html": [
- "4fb68b5999ba4f829febc83ca9d305ba6327aad0",
+ "401d941e1d6494e3a7b6c5912e66d772ac795704",
"testharness"
],
"webmessaging/MessageEvent_onmessage_postMessage_infinite_loop.html": [
@@ -730141,7 +744681,7 @@
"testharness"
],
"webmessaging/broadcastchannel/interface.html": [
- "a552563ed66b9168c717a3bc3f41c6a6f7f7f8b1",
+ "1733d2d17fafd84553c6da2ab6360a23167f7fda",
"testharness"
],
"webmessaging/broadcastchannel/origin.window.js": [
@@ -730213,7 +744753,7 @@
"testharness"
],
"webmessaging/message-channels/close.html": [
- "d975ea728327d95def65af0e5875a16dfdfa0289",
+ "75b5f229d6d5e412abecf5807ad25f96d69bf4b7",
"testharness"
],
"webmessaging/message-channels/dictionary-transferrable.html": [
@@ -730245,11 +744785,11 @@
"testharness"
],
"webmessaging/postMessage_Document.htm": [
- "97765fae818751354a38ddc6068c58aaf2605025",
+ "a5580ef4b2b9137fc9add8ab1eb9a8f224dc6a80",
"testharness"
],
"webmessaging/postMessage_Function.htm": [
- "c53e8fcc3cd24cf8f3acafae1f320ebbf443411d",
+ "fd31f83df4b75fe36a3a8581c81d230888b3a879",
"testharness"
],
"webmessaging/postMessage_MessagePorts_sorigin.htm": [
@@ -730273,11 +744813,11 @@
"testharness"
],
"webmessaging/postMessage_dup_transfer_objects.htm": [
- "a28c9640067d505bf5aaff328bfa0b5c8b7dd9f8",
+ "511b51271f30a2655951e8556488621a7095b826",
"testharness"
],
"webmessaging/postMessage_invalid_targetOrigin.htm": [
- "d6e16460f192f37a84b5f173350992b168ba7a6e",
+ "b9cc6377ef82a511264857f5b1bf424ef08d007d",
"testharness"
],
"webmessaging/postMessage_objects.sub.htm": [
@@ -730309,7 +744849,7 @@
"support"
],
"webmessaging/with-options/broken-origin.html": [
- "d6901a15a34a166a9db7a999dc99f4f43c60bcb8",
+ "795404b0ecf279a58cad1a477119c7d75d169ead",
"testharness"
],
"webmessaging/with-options/host-specific-origin.html": [
@@ -730345,7 +744885,7 @@
"testharness"
],
"webmessaging/with-ports/001.html": [
- "e3687f16226aff75493b37b5eedb75b6006a9982",
+ "62dcf5e9bfb893874761c1057d5d11c167679f58",
"testharness"
],
"webmessaging/with-ports/002.html": [
@@ -730353,7 +744893,7 @@
"testharness"
],
"webmessaging/with-ports/003.html": [
- "3c0d4296b07e85f7b5fd9bd3e9f7fe9bf8cdd9b1",
+ "47ddfbe81a5acefc5995dd39ef0291c42925f3f3",
"testharness"
],
"webmessaging/with-ports/004.html": [
@@ -730429,19 +744969,19 @@
"testharness"
],
"webmessaging/with-ports/025.html": [
- "9a0e5cf6ffb729d7949e4073d75d3c4595800a16",
+ "7af2a852ed603c317227621d1eaf51831171956c",
"testharness"
],
"webmessaging/with-ports/026.html": [
- "cf5c5e18ae5cd4a7bb69f7aed59fee3e3d960c4b",
+ "2af90e6be3afe334ee44acb2d07221f6442b6641",
"testharness"
],
"webmessaging/with-ports/027.html": [
- "e5f8c9c14abeaf779c5e59f4ce2e1b9aea1a5ec0",
+ "78ea225eb75577aadac1a33fb547629caac16463",
"testharness"
],
"webmessaging/without-ports/001.html": [
- "8f77c31fc61046fdd1d8783917793dda7a388c8f",
+ "09c28c5a5ce53af327ba9b36abb6659605138dc5",
"testharness"
],
"webmessaging/without-ports/002.html": [
@@ -730449,7 +744989,7 @@
"testharness"
],
"webmessaging/without-ports/003.html": [
- "5021e09f46b37b987aa99652b229bf415bebc735",
+ "6dc1e55777ba3d093d9de7eb4b281e5a1489fa53",
"testharness"
],
"webmessaging/without-ports/004.html": [
@@ -730473,7 +745013,7 @@
"testharness"
],
"webmessaging/without-ports/009.html": [
- "779383da203902aa5c34e1e3085e43467dc9c4a0",
+ "d613b4a07344490806233e43498abf315a638082",
"testharness"
],
"webmessaging/without-ports/010.html": [
@@ -730537,19 +745077,19 @@
"testharness"
],
"webmessaging/without-ports/024.html": [
- "8d99994599c9b638b6af9d02c25b285158d553de",
+ "0e4651593a79862f8fdff1c4f65b4669a7d27bec",
"testharness"
],
"webmessaging/without-ports/025-1.js": [
- "c088fc981947224d24859d078ef1254c1fdd7910",
+ "bd1d778d9b32651b05f1b7364459ed4096646528",
"support"
],
"webmessaging/without-ports/025.html": [
- "47bec6bd842d361c1355a57f4015e3624c766fce",
+ "4686febe94e0b24eb9799493d0741a4384ad75e5",
"testharness"
],
"webmessaging/without-ports/026.html": [
- "e8d799c5d2553e6db8b7c117d186e8163d2fb405",
+ "546da8a91b541cde8954eb4068b83e4169a65fea",
"testharness"
],
"webmessaging/without-ports/027.html": [
@@ -730589,7 +745129,7 @@
"testharness"
],
"webrtc-extensions/RTCRtpReceiver-playoutDelayHint.html": [
- "d8e47bda22174c63094c0918ccabed63513ea9fa",
+ "29dfc19a6b68900679b06b3c3527c177c4e38b48",
"testharness"
],
"webrtc-identity/META.yml": [
@@ -730625,7 +745165,7 @@
"support"
],
"webrtc-quic/RTCQuicStream.https.html": [
- "563d74a20808c23491d3b1228b827e6809dba1bf",
+ "9f5fd7ffd537aed176598b6feb35d45c3034e0f3",
"testharness"
],
"webrtc-quic/RTCQuicTransport-helper.js": [
@@ -730633,7 +745173,7 @@
"support"
],
"webrtc-quic/RTCQuicTransport.https.html": [
- "b84d90f2388fffa49bf1f57ee178d31c953497db",
+ "aa80c911a67b3cbdc383ff828c83d9d072eb0630",
"testharness"
],
"webrtc-stats/META.yml": [
@@ -730665,15 +745205,15 @@
"support"
],
"webrtc/RTCCertificate-postMessage.html": [
- "ee8347c97ac39410531cd129762ec16f8ebb44df",
+ "6cca240057668f90ecd896a15d76d17cfdc7d036",
"testharness"
],
"webrtc/RTCCertificate.html": [
- "a33ba9ae5f2b201e663c5aa70d1984f0687c613a",
+ "6b7626c92e75c06dba8606558abe003d8d994fd3",
"testharness"
],
"webrtc/RTCConfiguration-bundlePolicy.html": [
- "6b64cf8ddd53ad6b545dfd516ee457dfd50a2913",
+ "e825d7b4023751fe6aefd4957fdc08d81c608990",
"testharness"
],
"webrtc/RTCConfiguration-helper.js": [
@@ -730681,19 +745221,19 @@
"support"
],
"webrtc/RTCConfiguration-iceCandidatePoolSize.html": [
- "2e6859d2596163375550b1dc929f126894e02898",
+ "0dccf4c11d2ca70389d9a2ec8f99ecdc02794d50",
"testharness"
],
"webrtc/RTCConfiguration-iceServers.html": [
- "3f5c367d3ad98186461864b6b0bdecee3a07319e",
+ "2ef99bf59c8cc11273e99388b1444bf25067cb22",
"testharness"
],
"webrtc/RTCConfiguration-iceTransportPolicy.html": [
- "74e8b4b2ae7c2bfcdf474915394a1b5f27f9234c",
+ "25d4511f48e32ef9568e750e74abe2df5c51e596",
"testharness"
],
"webrtc/RTCConfiguration-rtcpMuxPolicy.html": [
- "7d0c81f5eabfddd5fbe66a2eab60ebb6fcec33f5",
+ "5198c9074a0b39ccc9015150b280ffff640b9d4a",
"testharness"
],
"webrtc/RTCDTMFSender-helper.js": [
@@ -730701,7 +745241,7 @@
"support"
],
"webrtc/RTCDTMFSender-insertDTMF.https.html": [
- "62a5f0472c1983140f1ccd29b10e5b86d302c79b",
+ "be6e3c6e59d039a0f2bbf065db9897fb971f5b15",
"testharness"
],
"webrtc/RTCDTMFSender-ontonechange-long.https.html": [
@@ -730721,7 +745261,7 @@
"testharness"
],
"webrtc/RTCDataChannel-id.html": [
- "0cf01976ff0eeb66c51ded321e777123f063b02c",
+ "355f6a36eae551e8ea92ff91a8a6b65ed10c776c",
"testharness"
],
"webrtc/RTCDataChannel-send-blob-order.html": [
@@ -730729,11 +745269,11 @@
"testharness"
],
"webrtc/RTCDataChannel-send.html": [
- "4565a8385febacd33aed74bd09bbaaaddef34538",
+ "406937f33aee8a1cb417edd401946c4b424a17be",
"testharness"
],
"webrtc/RTCDataChannelEvent-constructor.html": [
- "03211eccb920e136413a0e61a94d24f4d8bbd714",
+ "265943ae56350e01d14cd4d1cfdd7c86635e49b5",
"testharness"
],
"webrtc/RTCDtlsTransport-getRemoteCertificates.html": [
@@ -730745,11 +745285,11 @@
"testharness"
],
"webrtc/RTCError.html": [
- "9c7227521edeb8e9db1c744ce3f6a145bc66314b",
+ "bcc5749bf7d5e69fd3d674ac33564403e41e9985",
"testharness"
],
"webrtc/RTCIceCandidate-constructor.html": [
- "344007ded2b4d4496171402896d738817cdde12e",
+ "6c208e887f473a031e0e9ee07658b53bfbe5935a",
"testharness"
],
"webrtc/RTCIceConnectionState-candidate-pair.https.html": [
@@ -730761,7 +745301,7 @@
"support"
],
"webrtc/RTCIceTransport-extension.https.html": [
- "94beb9927861e83142cab9c1aa3043e4c479ed0d",
+ "40e9f30d1704e48a808b8d0ff029188b3b7d6519",
"testharness"
],
"webrtc/RTCIceTransport.html": [
@@ -730781,11 +745321,11 @@
"testharness"
],
"webrtc/RTCPeerConnection-addTrack.https.html": [
- "3f4f927883de757d23caf7fda2af30715d67d8ed",
+ "7585961f31ce942db94a6e59be76cf8b8b3de0df",
"testharness"
],
"webrtc/RTCPeerConnection-addTransceiver.https.html": [
- "3640bfb31cd32b926c0493aa1d80f9d291dfae26",
+ "bc537c26867fe699388a7ba287606b007ab41afc",
"testharness"
],
"webrtc/RTCPeerConnection-canTrickleIceCandidates.html": [
@@ -730801,7 +745341,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-constructor.html": [
- "abea2eb6761b779ba527b75660d0c2258c805ba1",
+ "0336837f8131d4c5df435d859d7d36ccc726123f",
"testharness"
],
"webrtc/RTCPeerConnection-createAnswer.html": [
@@ -730809,7 +745349,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-createDataChannel.html": [
- "350f71567820f80506fdc6d86452784521f0ff40",
+ "67b40c9ed8ea44d9559a318619206531c01b32a7",
"testharness"
],
"webrtc/RTCPeerConnection-createOffer.html": [
@@ -730877,7 +745417,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-removeTrack.https.html": [
- "10b4cfb3a613d8abc508da9ed12c3c3605d32ebe",
+ "9e61ef785edf7f672b9161b14c86ee8b1cd16501",
"testharness"
],
"webrtc/RTCPeerConnection-restartIce-onnegotiationneeded.https.html": [
@@ -730945,7 +745485,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-setRemoteDescription.html": [
- "464e16d736a02085e312350597c5ebe492de3c1c",
+ "3f335d71b9ab640c34b879d624fa77215488d5ce",
"testharness"
],
"webrtc/RTCPeerConnection-track-stats.https.html": [
@@ -730957,7 +745497,7 @@
"testharness"
],
"webrtc/RTCPeerConnectionIceEvent-constructor.html": [
- "7de7fcaeb10ef209ece63ad346f668e1c634c4db",
+ "447002dca1fa35816fdd24c74dd761c1d48cf028",
"testharness"
],
"webrtc/RTCRtpCapabilities-helper.js": [
@@ -731029,7 +745569,7 @@
"testharness"
],
"webrtc/RTCRtpSender-setStreams.https.html": [
- "08592da4d528889565825f9147d789c89b7e18fc",
+ "45b47d06a6c9c2956f93ae09379f68ecfa565591",
"testharness"
],
"webrtc/RTCRtpSender-transport.https.html": [
@@ -731041,7 +745581,7 @@
"testharness"
],
"webrtc/RTCRtpTransceiver-setCodecPreferences.html": [
- "c553c9d8bc79640c23ec803552f973012a801bb5",
+ "dff1eb2c5820bd60412382b1e5a908be33328087",
"testharness"
],
"webrtc/RTCRtpTransceiver-stop.html": [
@@ -731073,7 +745613,7 @@
"support"
],
"webrtc/RTCTrackEvent-constructor.html": [
- "a0c031eaa5a25729639d2595f1a5748ae59955cb",
+ "c9105e693af6661c74ba868858732a29d2b84096",
"testharness"
],
"webrtc/RTCTrackEvent-fire.html": [
@@ -731225,7 +745765,7 @@
"testharness"
],
"websockets/Close-Reason-124Bytes.any.js": [
- "357748a7c4df65f34c00fafa4a96a3a427fa2508",
+ "d7fcdcb10c9474bd0b2cd4a5293991711f144918",
"testharness"
],
"websockets/Close-reason-unpaired-surrogates.any.js": [
@@ -731241,7 +745781,7 @@
"testharness"
],
"websockets/Create-Secure-url-with-space.any.js": [
- "f6ca19e04726a428fd8c635dc65919ca953c0479",
+ "1ff0d25927114c7c6064ad4080378e391e919520",
"testharness"
],
"websockets/Create-Secure-valid-url-array-protocols.any.js": [
@@ -731269,7 +745809,7 @@
"testharness"
],
"websockets/Create-asciiSep-protocol-string.any.js": [
- "37657f18dfca8fee3157c48e88798bdbc41f68c3",
+ "e3f55fbc93020a85ee351334a5b4bcab19756b25",
"testharness"
],
"websockets/Create-blocked-port.any.js": [
@@ -731277,15 +745817,15 @@
"testharness"
],
"websockets/Create-invalid-urls.any.js": [
- "5ae25a2cdc00c7f308b65a10d670fdf4e8f3582c",
+ "5fe0bf4fba82fccdb129ae144d495c592eff1223",
"testharness"
],
"websockets/Create-non-absolute-url.any.js": [
- "9ac9707209f9b9bc6a22ea1637783c0aed8f2222",
+ "543ba3731675c6866dbe9f3c4778414fb12c92f2",
"testharness"
],
"websockets/Create-nonAscii-protocol-string.any.js": [
- "631699413a357caf1ed950f460d484cfeda63ebd",
+ "85a8d368917c466dc6ca3b6d3dac0bfe801fb58d",
"testharness"
],
"websockets/Create-on-worker-shutdown.any.js": [
@@ -731293,15 +745833,15 @@
"testharness"
],
"websockets/Create-protocol-with-space.any.js": [
- "18f6815a489a8af0b671d9111c11210f306d0567",
+ "e7c1bea4de345a81ce2da4f17d98ca737634ae7f",
"testharness"
],
"websockets/Create-protocols-repeated-case-insensitive.any.js": [
- "1d59015e05835074a9bf4642fe8a40850675bf64",
+ "0b9bfecdc724f10d0c251bf897999e1ffd19bef6",
"testharness"
],
"websockets/Create-protocols-repeated.any.js": [
- "bdaf5606a8b16a4b9a65d0326ba1e0ab3eb330e2",
+ "67cfa1f122ff4eea01b38e9fb2247bb005bc4689",
"testharness"
],
"websockets/Create-valid-url-array-protocols.any.js": [
@@ -731325,7 +745865,7 @@
"testharness"
],
"websockets/Create-wrong-scheme.any.js": [
- "78ff7394622edfce754d6649d478e547a77e57c5",
+ "affe346d6e1caa6347abb165e3774d08ed45bf42",
"testharness"
],
"websockets/META.yml": [
@@ -731353,11 +745893,11 @@
"testharness"
],
"websockets/Secure-Close-1005.any.js": [
- "f5f2cbf6e6616e7c596789ba6bb1339fe358b0bc",
+ "dc0d0550f23aa20b36893df00465b21a31e924ad",
"testharness"
],
"websockets/Secure-Close-2999-reason.any.js": [
- "ee1c756694ba258d9c8f05f469c0e94f0e4aaf53",
+ "f90a95acf7fa0ea52d26bd727a46adbd5e38e3f5",
"testharness"
],
"websockets/Secure-Close-3000-reason.any.js": [
@@ -731373,7 +745913,7 @@
"testharness"
],
"websockets/Secure-Close-Reason-124Bytes.any.js": [
- "0786c295e760c3af2cb4994267974f62c6f004c1",
+ "aaaac8e113b66d8f512fb9be19a22a03a3c15fea",
"testharness"
],
"websockets/Secure-Close-Reason-Unpaired-surrogates.any.js": [
@@ -731381,7 +745921,7 @@
"testharness"
],
"websockets/Secure-Close-onlyReason.any.js": [
- "029b8d8af8ef8517fad73cfeec84131aef8d1583",
+ "66e8a7f68861ddb12dc266641f580d95cb35982b",
"testharness"
],
"websockets/Secure-Close-readyState-Closed.any.js": [
@@ -731477,7 +746017,7 @@
"testharness"
],
"websockets/Send-before-open.any.js": [
- "b2f1ea9c3aa856e5e0ace17ff4ff3a69d6cf57fd",
+ "fed8f519932a156fbe63eac240351e693636b2b3",
"testharness"
],
"websockets/Send-binary-65K-arraybuffer.any.js": [
@@ -731549,7 +746089,7 @@
"testharness"
],
"websockets/close-invalid.any.js": [
- "8ac1da3f5de56974a1cea4a172a15c28d6047565",
+ "32d6d5d3e295baa9523cad4f3becb6ffb72125a7",
"testharness"
],
"websockets/closing-handshake/002.html": [
@@ -731573,15 +746113,15 @@
"testharness"
],
"websockets/constructor/001.html": [
- "2a868bfa0d37a3bb92b1847e080b1437a2a5a229",
+ "b82d941c7787d01c82cdc90ef4fa04478201b42e",
"testharness"
],
"websockets/constructor/002.html": [
- "94015979b0a19d1dbb76f15a8347e408ab0061a7",
+ "59ac675cc58e8b54704aa37f91c13a5e95ec905a",
"testharness"
],
"websockets/constructor/004.html": [
- "f358021541b2fbd476d34b395153862797c9961e",
+ "f0cd3418c88945b05426933b30d1462abdef3b0c",
"testharness"
],
"websockets/constructor/005.html": [
@@ -731593,7 +746133,7 @@
"testharness"
],
"websockets/constructor/007.html": [
- "6f141a541865545f89c3ec9aa3604fa8bb24f257",
+ "4c8a7cd7f3c9ff7702c8a2adc76d27bd4d743c32",
"testharness"
],
"websockets/constructor/008.html": [
@@ -731645,7 +746185,7 @@
"testharness"
],
"websockets/constructor/021.html": [
- "80156540f7a0722432a64ba3fe32b3368494a76b",
+ "209b262f98579257b5032f443e4680f92d919074",
"testharness"
],
"websockets/constructor/022.html": [
@@ -731909,11 +746449,11 @@
"testharness"
],
"websockets/interfaces/WebSocket/constants/005.html": [
- "b3c2e932e6d08c11b964040005564fe822e0d572",
+ "8f17deb3785fc0f8856db9b2dac2073bd896a352",
"testharness"
],
"websockets/interfaces/WebSocket/constants/006.html": [
- "702193456477816e2a799c71245e1adb17de1397",
+ "0396687736a25eca203d514e6aa302bca3b2d2b8",
"testharness"
],
"websockets/interfaces/WebSocket/events/001.html": [
@@ -732033,7 +746573,7 @@
"testharness"
],
"websockets/interfaces/WebSocket/send/001.html": [
- "3a22420ad6cb273e00f1ddf53fb55146247252c0",
+ "829a4ed7610f8db52fa0c736d5c7984b6526c522",
"testharness"
],
"websockets/interfaces/WebSocket/send/002.html": [
@@ -732041,11 +746581,11 @@
"testharness"
],
"websockets/interfaces/WebSocket/send/003.html": [
- "08aadbf4665b73a02d8e0aec3c228c71ef05e080",
+ "0077b4020055dd7ca8941cbb85540f913a6b0370",
"testharness"
],
"websockets/interfaces/WebSocket/send/004.html": [
- "af906b55333168a73b527b6f24e4c44746ffbe49",
+ "f454f0cda59b152f1fff42f51def6adf21588a0d",
"testharness"
],
"websockets/interfaces/WebSocket/send/005.html": [
@@ -732181,11 +746721,11 @@
"testharness"
],
"websockets/stream-tentative/close.any.js": [
- "ddcdc2b2c8f62682f395551be1272b624876ce32",
+ "1442d821148119a07889f3087edd02d78cbe3b8e",
"testharness"
],
"websockets/stream-tentative/constructor.any.js": [
- "12a24f25f2cc50c9437c7e59c4997774d023a101",
+ "a5401b30bfc1519aacfb62ea850f34d6dc386faf",
"testharness"
],
"websockets/stream-tentative/resources/url-constants.js": [
@@ -732353,7 +746893,7 @@
"testharness"
],
"webstorage/missing_arguments.html": [
- "38c52cf62754d5ee4092356104daca544a9f5be7",
+ "1c8a1a4481581820da2b22210c4394bd6b6b97ac",
"testharness"
],
"webstorage/resources/event_body_handler.html": [
@@ -732457,7 +746997,7 @@
"manual"
],
"webstorage/storage_local_setitem_quotaexceedederr.html": [
- "b547f3046d1918f5625a85b05963785c441bae58",
+ "b55ace2fa21ff5689a11a7e86c3579dea5d66076",
"testharness"
],
"webstorage/storage_local_window_open.html": [
@@ -732473,7 +747013,7 @@
"manual"
],
"webstorage/storage_session_setitem_quotaexceedederr.html": [
- "285a4bea2b55272012249bc92abc98c84ef9f4e6",
+ "7096c1610c7f3b9b54acf57c259bc6b083c0f55d",
"testharness"
],
"webstorage/storage_session_window_noopener.html": [
@@ -732489,7 +747029,7 @@
"testharness"
],
"webstorage/storage_setitem.html": [
- "fa38284fd018923b114f5fe091390776cd86db4b",
+ "be82df1ecdb06779adf9c99f3e3bf3b46f73f1c3",
"testharness"
],
"webstorage/storage_string_conversion.html": [
@@ -732601,7 +747141,7 @@
"testharness"
],
"webusb/usbConnectionEvent.https.any.js": [
- "9d4f60abc48733da6bf06ed7673228fb4a31d628",
+ "349fd9b75f3b60160d8d410fb1c81a192f3c1e36",
"testharness"
],
"webusb/usbDevice-iframe.https.html": [
@@ -732621,7 +747161,7 @@
"testharness"
],
"webusb/usbInTransferResult.https.any.js": [
- "4cdb58e467b5770f5a08329ac59c209bde56fa60",
+ "c8f65f1737a5cd208273123c83322b6962a64142",
"testharness"
],
"webusb/usbInterface.https.any.js": [
@@ -732629,23 +747169,23 @@
"testharness"
],
"webusb/usbIsochronousInTransferPacket.https.any.js": [
- "ee992f998b6078d6d65dfcfd4b5e33a31dcae10f",
+ "55543d11f8c6e972b7ca3ee2444c1d618f15b960",
"testharness"
],
"webusb/usbIsochronousInTransferResult.https.any.js": [
- "25c128a76cc1a3fe6f39869ea657368acc21529b",
+ "0aa57d00e6de4623bb7c06570ebe79380a653688",
"testharness"
],
"webusb/usbIsochronousOutTransferPacket.https.any.js": [
- "d99c85651942b0ad8857f421d7e44028dbcc8b7a",
+ "2747a6fa0a480f98f632c20dbd8e2d772cddd648",
"testharness"
],
"webusb/usbIsochronousOutTransferResult.https.any.js": [
- "13b94322ed22726521fe9b165a19cfe8dae5ca9d",
+ "692420d948191998a1251b164ca917a86f3264dc",
"testharness"
],
"webusb/usbOutTransferResult.https.any.js": [
- "f880a43ea1c590e24724408565245946ebef519e",
+ "200c0716eb2ebf0fead8a6bbc0c27476dbe72e5a",
"testharness"
],
"webvr/META.yml": [
@@ -732733,7 +747273,7 @@
"testharness"
],
"webvtt/api/VTTCue/position.html": [
- "4bbf54ea7b3e1fd586ed43ce94286b171af96e4b",
+ "c0485e7a799190a785c4ab8bc785f9ac8ff39c89",
"testharness"
],
"webvtt/api/VTTCue/positionAlign.html": [
@@ -732745,7 +747285,7 @@
"testharness"
],
"webvtt/api/VTTCue/size.html": [
- "26a26f0a8c0077a4fc70e4e585d24034b6411528",
+ "fdb8059c72f7600a9dd9be5a63457e9412780105",
"testharness"
],
"webvtt/api/VTTCue/snapToLines.html": [
@@ -732761,7 +747301,7 @@
"testharness"
],
"webvtt/api/VTTRegion/constructor.html": [
- "cddde0a07170942307936b236cdbb8a24953aa16",
+ "a427f4f7d6339cb417feb501943db29c90530419",
"testharness"
],
"webvtt/api/VTTRegion/id.html": [
@@ -732777,11 +747317,11 @@
"testharness"
],
"webvtt/api/VTTRegion/regionAnchorX.html": [
- "acdb9ef239e9610be2290ef77602bb05b8f76887",
+ "f7663366cbf764ddce4ecdc32662f905c0106d46",
"testharness"
],
"webvtt/api/VTTRegion/regionAnchorY.html": [
- "9e4728846c8104636a5e082814bee0ab1f197bfc",
+ "174ff678901295c0c5115ed93e9357e33bb076be",
"testharness"
],
"webvtt/api/VTTRegion/scroll.html": [
@@ -732789,15 +747329,15 @@
"testharness"
],
"webvtt/api/VTTRegion/viewportAnchorX.html": [
- "8adf7ba02a5af891a77571d3135bab899517734e",
+ "0786585d468560150b92bd8c16694eef77d38c32",
"testharness"
],
"webvtt/api/VTTRegion/viewportAnchorY.html": [
- "cdbe793f66773e75b34d19fffff1352ce1fb248f",
+ "de43567b62749e625139c8d4f01c5ccdf73a4d07",
"testharness"
],
"webvtt/api/VTTRegion/width.html": [
- "fdc663f86a7f5ae20fb9ed707ce41426d9435ea1",
+ "97c1c7395600d1fa11cd282d241edc2181762e42",
"testharness"
],
"webvtt/api/categories.json": [
@@ -735869,7 +750409,7 @@
"testharness"
],
"webxr/events_session_select.https.html": [
- "396d6b23939f96a2f29151eac21548cd97f92009",
+ "bc501b693497ddf58ccabd4491858263c4dfbdbc",
"testharness"
],
"webxr/events_session_select_subframe.https.html": [
@@ -736013,7 +750553,7 @@
"testharness"
],
"webxr/xrDevice_requestSession_no_mode.https.html": [
- "5ef249c58186131f8e467da48cfafebe65df9adf",
+ "9c1ebb7efd7bfc0b51873df5143530322f42840a",
"testharness"
],
"webxr/xrDevice_requestSession_non_immersive_no_gesture.https.html": [
@@ -736037,7 +750577,7 @@
"testharness"
],
"webxr/xrFrame_lifetime.https.html": [
- "2d706d24848a29ee9ad5f3d309f809b803f5c8ca",
+ "7c71f0af3dda960bb4c723e4cd8a1267db45a3e6",
"testharness"
],
"webxr/xrFrame_session_sameObject.https.html": [
@@ -736077,7 +750617,7 @@
"testharness"
],
"webxr/xrRigidTransform_constructor.https.html": [
- "15a7f2b5771a78dba2036ec46933e826c9a54355",
+ "5e055efc41b74fc968b097610e8deba38f2642df",
"testharness"
],
"webxr/xrRigidTransform_inverse.https.html": [
@@ -736221,7 +750761,7 @@
"testharness"
],
"workers/SharedWorker-constructor.html": [
- "2bfe7d9b87adfe927517a0a3af6d614d8837964d",
+ "5347891d41855aaa5d1398d0b0fe53cc9c2fda3d",
"testharness"
],
"workers/SharedWorker-detach-frame-in-error-event.html": [
@@ -736277,7 +750817,7 @@
"testharness"
],
"workers/Worker-formdata.any.js": [
- "3ee42d9f4b76228bc25a89d0fb8a1c653139e45a",
+ "f14d4ff41a2419e464d6887513b89cc982cfd0f3",
"testharness"
],
"workers/Worker-location.sub.any.js": [
@@ -736289,7 +750829,7 @@
"testharness"
],
"workers/Worker-multi-port.html": [
- "138f8f02d4e722509905f01cd64bfb93b997f9bd",
+ "725745b0ea4498ec3eec8811b51f692c555f21df",
"testharness"
],
"workers/Worker-nested-importScripts-error.html": [
@@ -736505,7 +751045,7 @@
"testharness"
],
"workers/Worker_cross_origin_security_err.htm": [
- "1a5e260c18b4de298e02c234316322c3a3c71cc2",
+ "8417adbefdad83678b06cdb076696e19b70c32a0",
"testharness"
],
"workers/Worker_dispatchEvent_ErrorEvent.htm": [
@@ -736701,7 +751241,7 @@
"support"
],
"workers/constructors/SharedWorker/no-arguments-ctor.html": [
- "eaee870db0e14c0c68533f98ee63b7c3a580eeeb",
+ "c189e556019d8d761a43fbb6259368164ca7c19c",
"testharness"
],
"workers/constructors/SharedWorker/null": [
@@ -736737,7 +751277,7 @@
"testharness"
],
"workers/constructors/SharedWorker/same-origin.html": [
- "66747b22fbb30e64d8f6d627c1c1b6e03d53d472",
+ "1fc76d5f5e46faceda09afcacce7c1b834834d44",
"testharness"
],
"workers/constructors/SharedWorker/setting-port-members.html": [
@@ -736753,7 +751293,7 @@
"support"
],
"workers/constructors/SharedWorker/undefined-arguments.html": [
- "b9a3b3692c349d6b17191d961d3744080d08ceab",
+ "bc0a75bcfeb95a6a62627f66688ce52441dc956e",
"testharness"
],
"workers/constructors/SharedWorker/undefined.headers": [
@@ -736769,7 +751309,7 @@
"support"
],
"workers/constructors/SharedWorker/unresolvable-url.html": [
- "2ca3d93d3e8fa2a16a557370fe85bca3952e1713",
+ "c392d0e1f7dc2e846456b5ab32bd534cf9f7a012",
"testharness"
],
"workers/constructors/Worker/1": [
@@ -736797,7 +751337,7 @@
"testharness"
],
"workers/constructors/Worker/Worker-constructor.html": [
- "e073df76f36f0117cdf61e04f05cc8cb0f5530ff",
+ "524a0982a9e532c1e5be01a526ed61bd6a0e58de",
"testharness"
],
"workers/constructors/Worker/ctor-1.html": [
@@ -736825,7 +751365,7 @@
"support"
],
"workers/constructors/Worker/same-origin.html": [
- "6df5e92fda37a9e78d60426c01b60ede512d47de",
+ "cdc36c17183fb161e281865f160ab27e35f0ed1e",
"testharness"
],
"workers/constructors/Worker/sample_worker/worker.js": [
@@ -736893,7 +751433,7 @@
"testharness"
],
"workers/importscripts_mime.any.js": [
- "04c63a3a5f6d9bd3b71d94142f65a1825358b8ed",
+ "d7e215853f4d924a75df076e36dba3ead6fd6ee2",
"testharness"
],
"workers/interfaces/DedicatedWorkerGlobalScope/EventTarget.worker.js": [
@@ -737181,7 +751721,7 @@
"testharness"
],
"workers/interfaces/WorkerUtils/importScripts/002.worker.js": [
- "2cecbcb53525691cefa687d8e7cb3302eeeb1d6c",
+ "1cacee5ccb5e3322e01c6e67b879d4c55f5d053f",
"testharness"
],
"workers/interfaces/WorkerUtils/importScripts/003.html": [
@@ -737357,11 +751897,11 @@
"testharness"
],
"workers/modules/dedicated-worker-import-failure.html": [
- "5e8b152195a354022943ae9404bb4473d3cd0c0d",
+ "33eeea261893bc2d920bb348efff7a07f264729f",
"testharness"
],
"workers/modules/dedicated-worker-import-meta.html": [
- "4ed56e279f7d558ca5d75c6cbe969ba41b2d52dd",
+ "cff8e91488e8239abe213619d12d5a603072fbea",
"testharness"
],
"workers/modules/dedicated-worker-import-referrer.html": [
@@ -737381,7 +751921,7 @@
"support"
],
"workers/modules/dedicated-worker-options-type.html": [
- "74523f4478b4209d4de060e98553946896fdecb7",
+ "bb37a18f2cc93312fd10fd7e0ed64d7be738a45f",
"testharness"
],
"workers/modules/resources/credentials.py": [
@@ -737393,7 +751933,7 @@
"support"
],
"workers/modules/resources/dynamic-import-given-url-worker.js": [
- "2ea88b8071875a431cb4b40225facd1adf6d5644",
+ "55102759352c5564e832e37bb8c7f0e7bd007f4d",
"support"
],
"workers/modules/resources/dynamic-import-remote-origin-credentials-checker-worker.sub.js": [
@@ -737452,8 +751992,12 @@
"cb762eff806849df46dc758ef7b98b63f27f54c9",
"support"
],
+ "workers/modules/resources/import-meta-url-export.js": [
+ "5287b2e9e8492e23d082a43ceb588a331fa3c924",
+ "support"
+ ],
"workers/modules/resources/import-meta-url-worker.js": [
- "9d909778eda0e3a6082b6f93a8fabf36a82b9267",
+ "7887836a6cc1a5c321ebbe2efa0e5724796c281c",
"support"
],
"workers/modules/resources/import-scripts-worker.js": [
@@ -737521,7 +752065,11 @@
"testharness"
],
"workers/modules/shared-worker-import-failure.html": [
- "0e0b9b306314fd96b48e0007918935bc56df2d53",
+ "718ea650ec7d5f5a2beb192a901f186b29187dc6",
+ "testharness"
+ ],
+ "workers/modules/shared-worker-import-meta.html": [
+ "44cd9df9ee7097abfee68b01a8868249bee63f3b",
"testharness"
],
"workers/modules/shared-worker-import.any.js": [
@@ -737529,7 +752077,7 @@
"testharness"
],
"workers/modules/shared-worker-options-type.html": [
- "25b793c631de2899d6ddc73900716328ea8837f9",
+ "fb46ab5be7ec74866a1e5232387b14c49cfdbdc9",
"testharness"
],
"workers/name-property.html": [
@@ -737621,7 +752169,7 @@
"testharness"
],
"workers/postMessage_clone_port_error.htm": [
- "30012962d8606917b7c9f731c910427b71d47a47",
+ "3558987476bdd89dde27e5958c2de39679656f4c",
"testharness"
],
"workers/postMessage_event_properties.htm": [
@@ -737629,7 +752177,7 @@
"testharness"
],
"workers/postMessage_ports_readonly_array.htm": [
- "0645ea7ef5f8920bbb03e8024509026d5e303bf5",
+ "bd833ede9361de0efe75e928ef14a20c52092b28",
"testharness"
],
"workers/postMessage_target_source.htm": [
@@ -737925,7 +752473,7 @@
"support"
],
"workers/support/ImportScriptsNosniffErr.js": [
- "fefbfc736735ec69634ec79ca25fb4a548f799bc",
+ "22dc9c1ba57c9575cda4758447d04adec386ac56",
"support"
],
"workers/support/SharedWorker-common.js": [
@@ -738321,7 +752869,7 @@
"support"
],
"wpt": [
- "a24bc83a9197a1561ddf28c8116c0cb10bcde70e",
+ "37ab5409ec798ac44f97eec1cc90e3207cdd78ad",
"support"
],
"wpt.py": [
@@ -738337,7 +752885,7 @@
"support"
],
"x-frame-options/deny.sub.html": [
- "626f2043f328bb4f3fd883a87f018fad55bf5f7e",
+ "dd8afe8079a0096295881c15db95a97d5f25c7b6",
"testharness"
],
"x-frame-options/invalid.sub.html": [
@@ -738369,11 +752917,11 @@
"support"
],
"x-frame-options/support/xfo.py": [
- "e8d8c4eafbc56ef6850403889e89ac0bb0cfe015",
+ "619cf553e46bb72d42bccaf0d87008804f46eed3",
"support"
],
"xhr/FormData-append.html": [
- "a10244fa23d475a6fc4cb6fe2b15f869c3081218",
+ "c64b93cbc7ef82c36abced4cc1d5c1cf60f1b2f9",
"testharness"
],
"xhr/META.yml": [
@@ -738385,7 +752933,7 @@
"support"
],
"xhr/XMLHttpRequest-withCredentials.any.js": [
- "96e95c90faf0645dfad09c24a80ed4b8cd5a4880",
+ "27ffa70d5b9ecb4cb14f1e097347e61e3430adbd",
"testharness"
],
"xhr/abort-after-receive.any.js": [
@@ -738517,15 +753065,15 @@
"testharness"
],
"xhr/access-control-basic-denied.htm": [
- "535762d0edafe1d58510f43f1296d1d9662c8b24",
+ "970e09d0f57cff971bb4462bd4ebaed69eb78adf",
"testharness"
],
"xhr/access-control-basic-get-fail-non-simple.htm": [
- "a4fe23460d12d7d3cd907464257df98edd29aa9f",
+ "97370bd650241e2efe799dde37d13099bee96cc3",
"testharness"
],
"xhr/access-control-basic-non-cors-safelisted-content-type.htm": [
- "062f8b0bb5b466c264b80f8f983c94d49cc1b9aa",
+ "0e0e971fd4b5c1f8139fe52e41ddf77ccb304654",
"testharness"
],
"xhr/access-control-basic-post-success-no-content-type.htm": [
@@ -738533,7 +753081,7 @@
"testharness"
],
"xhr/access-control-basic-post-with-non-cors-safelisted-content-type.htm": [
- "0a6df932aa44e64b6025b4055137f212d111fe32",
+ "f63e6bc924e26e6aafd10f220300629320a65cfd",
"testharness"
],
"xhr/access-control-basic-preflight-denied.htm": [
@@ -738601,15 +753149,15 @@
"testharness"
],
"xhr/access-control-preflight-sync-header-denied.htm": [
- "7948c18a2efcc6c02d76f683a3dbb5fa2558c8ae",
+ "8697f1ede95b0178aaeb0584004dfff6aecb5c5f",
"testharness"
],
"xhr/access-control-preflight-sync-method-denied.htm": [
- "a54c308d9f1190ea23a0df460f78fe76964c018e",
+ "0ca6c5cdf4a08b925299aec08cb1114fefcaf288",
"testharness"
],
"xhr/access-control-preflight-sync-not-supported.htm": [
- "bb08296304f9ef619ef4b581fdf116953f1f3166",
+ "f5df4a2d4b57a7b2a35fe6b936dc35721632cf93",
"testharness"
],
"xhr/access-control-recursive-failed-request.htm": [
@@ -738729,7 +753277,7 @@
"support"
],
"xhr/formdata-blob.htm": [
- "5efef7b615bbfa7dc54891fe40405c0f62eb98e2",
+ "92cee55cd2f80f15de2684ebfc129a5a6b1d38f3",
"testharness"
],
"xhr/formdata-delete.htm": [
@@ -738749,11 +753297,11 @@
"testharness"
],
"xhr/formdata-set.htm": [
- "ee43e1569f1958e5c71f14a3bd89b75756d6a85c",
+ "d46e44a916fd20cb9ba94b1ac5c2481659ec7cdc",
"testharness"
],
"xhr/formdata.htm": [
- "699c11ab7838a32a3e62460f13a2a427d8d81707",
+ "675203cb1af76d71242381d49efc133a5d5384c1",
"testharness"
],
"xhr/getallresponseheaders-cookies.htm": [
@@ -738809,7 +753357,7 @@
"testharness"
],
"xhr/headers-normalize-response.htm": [
- "84f2fc8582127b9a8e271887d420b3ea7a87696a",
+ "3d472f688cf6d9836fad2045784f5705d9f532f3",
"testharness"
],
"xhr/historical.html": [
@@ -738821,7 +753369,7 @@
"testharness"
],
"xhr/loadstart-and-state.html": [
- "460b2bfc99085b1d6b900860f3250f0f6ac70262",
+ "8b344a58f81f5d6d71de701ec414d5b12467372b",
"testharness"
],
"xhr/no-utf16-json.htm": [
@@ -738853,7 +753401,7 @@
"testharness"
],
"xhr/open-method-bogus.htm": [
- "263e7b6db7eb1581028bad1c742627d597e90540",
+ "13bb18bf5c4fae5632d9f076fe93bc65811e1250",
"testharness"
],
"xhr/open-method-case-insensitive.htm": [
@@ -738865,11 +753413,11 @@
"testharness"
],
"xhr/open-method-insecure.htm": [
- "1a77ff3ec7973005982544d1781470a2cd7d0df1",
+ "a6bf4422481feff2677547c7ab5c64b4b224b812",
"testharness"
],
"xhr/open-method-responsetype-set-sync.htm": [
- "0b4d814041c525285999186a7b3d5074235e1f7b",
+ "7858c91409e7e7cb51695f6d233de0d01554a604",
"testharness"
],
"xhr/open-open-send.htm": [
@@ -738933,11 +753481,11 @@
"testharness"
],
"xhr/open-url-multi-window-2.htm": [
- "ed4ba01576b59b1cf25a580c05b3a6383d5d16c1",
+ "fdd91016db8c3ecc93bafee43dade4aea2a44ea2",
"testharness"
],
"xhr/open-url-multi-window-3.htm": [
- "344434b0e7c694ccb52bc9a63ab5e5bef3f21f24",
+ "cfce8310dc42b916ed958e69f0b4761c694f2619",
"testharness"
],
"xhr/open-url-multi-window-4.htm": [
@@ -738945,11 +753493,11 @@
"testharness"
],
"xhr/open-url-multi-window-5.htm": [
- "a27d2b366c0680d2a30cbb107c3496abb0264908",
+ "40a3429fbb472a7396bc7d0475cd0f6b0c23e6e7",
"testharness"
],
"xhr/open-url-multi-window-6.htm": [
- "99279639921d9a594c15014f5c429ee6ae7a215d",
+ "d834a048a51d183bb82bdd43276740a4f894ceb4",
"testharness"
],
"xhr/open-url-multi-window.htm": [
@@ -738981,7 +753529,7 @@
"testharness"
],
"xhr/overridemimetype-done-state.any.js": [
- "bdf49e1ca52e76eff6b07c12e10a0320417236a0",
+ "5e7049243657d45ac9da42f234328733eb5cfc12",
"testharness"
],
"xhr/overridemimetype-edge-cases.window.js": [
@@ -738997,7 +753545,7 @@
"testharness"
],
"xhr/overridemimetype-loading-state.htm": [
- "cce3fa49ef752c6e66ba10500b35053316de6c13",
+ "06e4d5fec1ef1ba0cbf885fd3585889881ca5c64",
"testharness"
],
"xhr/overridemimetype-open-state-force-utf-8.htm": [
@@ -739025,7 +753573,7 @@
"testharness"
],
"xhr/progressevent-interface.html": [
- "850d1b23dcfa2662b2ffce3c1968d1f92eaaf188",
+ "7552ff73d3f44997723674da0407bf59ab3f91c4",
"testharness"
],
"xhr/resources/accept-language.py": [
@@ -739341,11 +753889,11 @@
"support"
],
"xhr/resources/send-after-setting-document-domain-window-2.htm": [
- "073268c21c7e84fbcbe539a6a45476dc757d0564",
+ "cd9f0c6bb7044f569db1f87c1abb9ec99b1ab32f",
"support"
],
"xhr/resources/send-after-setting-document-domain-window-helper.js": [
- "f5c762b042b70a27734157e0ca7d4d868f25147b",
+ "0c239cfdbcd5a44533e367311dd413b5e66da0b7",
"support"
],
"xhr/resources/shift-jis-html.py": [
@@ -739493,7 +754041,7 @@
"testharness"
],
"xhr/responsetype.any.js": [
- "88bd9189ebed0317904fad4240888a23cca272ce",
+ "444c3e3d169a0a2680bd0501b8859b7ca97b4250",
"testharness"
],
"xhr/responseurl.html": [
@@ -739517,7 +754065,7 @@
"testharness"
],
"xhr/responsexml-non-document-types.htm": [
- "84d90a8d35ae1d3da3494cd2681ed1ef8b7debc6",
+ "6d7feea7530eef7285b6625b7b1d687059fe0033",
"testharness"
],
"xhr/responsexml-non-well-formed.htm": [
@@ -739541,7 +754089,7 @@
"testharness"
],
"xhr/send-authentication-basic-cors-not-enabled.htm": [
- "68ad5e95ed870f9b09401e8417df70116c0336af",
+ "2e7cbaf034048d3b73c905048b090546bee43ca1",
"testharness"
],
"xhr/send-authentication-basic-cors.htm": [
@@ -739625,7 +754173,7 @@
"testharness"
],
"xhr/send-data-es-object.any.js": [
- "d98a4ca65aa6b2f3f4043f09742354e6b12ff833",
+ "c6fe5de260c212013052f66636b92fb07aa82373",
"testharness"
],
"xhr/send-data-formdata.any.js": [
@@ -739633,11 +754181,11 @@
"testharness"
],
"xhr/send-data-readablestream.any.js": [
- "cca6e76a042cc8a5b55e1ead306ddaf9467b8c09",
+ "c53b1071828f95669d41a967c51bd352b389bebb",
"testharness"
],
"xhr/send-data-unexpected-tostring.htm": [
- "b8a3b4ae6902357cfe392c484e8413bff1729061",
+ "290ae2065fc0fe91395276496a3dedfd2cd7872e",
"testharness"
],
"xhr/send-entity-body-basic.htm": [
@@ -739673,7 +754221,7 @@
"testharness"
],
"xhr/send-network-error-sync-events.sub.htm": [
- "b9f4fdf99de7cb6b9e5da86e1b513d8da1eb8a6d",
+ "2266eb36e1e3791a4fa1b70ea084cc6fcead926d",
"testharness"
],
"xhr/send-no-response-event-loadend.htm": [
@@ -739689,7 +754237,7 @@
"testharness"
],
"xhr/send-non-same-origin.htm": [
- "6dbbca7477d2fa0ebd1132e23bd1a2565d550ea2",
+ "bb9f32c174f8883ad928858a1d2696db11d33136",
"testharness"
],
"xhr/send-receive-utf16.htm": [
@@ -739697,7 +754245,7 @@
"testharness"
],
"xhr/send-redirect-bogus-sync.htm": [
- "a9dc73e5fd754f3e2193bd13d70ed0cca5983cd2",
+ "0f0598b1645451a5fb0dada58e8fab0678868ad7",
"testharness"
],
"xhr/send-redirect-bogus.htm": [
@@ -739705,7 +754253,7 @@
"testharness"
],
"xhr/send-redirect-infinite-sync.htm": [
- "6e9e47e55fc9f84d480623ff75fe0dc3b51eaea0",
+ "cc6d7a24bf63146dbfe4057f5e7e925d94b5a36c",
"testharness"
],
"xhr/send-redirect-infinite.htm": [
@@ -739749,7 +754297,7 @@
"testharness"
],
"xhr/send-send.any.js": [
- "2bfe40436f4a6ba8c3adc152c186a7b6d272b114",
+ "64b1554180973a42993660af792688958899716e",
"testharness"
],
"xhr/send-sync-blocks-async.htm": [
@@ -739785,7 +754333,7 @@
"testharness"
],
"xhr/setrequestheader-after-send.htm": [
- "7ccdb3e4c3109091286c02bbea7a5892215714f0",
+ "174e9ec4196c7eb4b5fae050a4ce9b01a50ee840",
"testharness"
],
"xhr/setrequestheader-allow-empty-value.htm": [
@@ -739797,15 +754345,15 @@
"testharness"
],
"xhr/setrequestheader-before-open.htm": [
- "cbe4b299c9dac18154340493073e7419b0773cb8",
+ "5c377fbc10076a2d98bb4bdc46ce2ec8c18ac6af",
"testharness"
],
"xhr/setrequestheader-bogus-name.htm": [
- "86e55f33a00649cf25c05b04914fb7756ef6bcb9",
+ "ce2308cc67debb52800153a084af614823f59913",
"testharness"
],
"xhr/setrequestheader-bogus-value.htm": [
- "15fbb39052526df052af8940cb8db7149302afc4",
+ "cba341c5dc689336629f525cfe6724ff002e838e",
"testharness"
],
"xhr/setrequestheader-case-insensitive.htm": [
@@ -739873,7 +754421,7 @@
"testharness"
],
"xhr/timeout-sync.htm": [
- "9815532c70ff347199a998f02bf4b11f15c7bcee",
+ "d8b2cc48f3647d216a3824e1391cd2612419c1f1",
"testharness"
],
"xhr/xmlhttprequest-basic.htm": [
@@ -739885,7 +754433,7 @@
"testharness"
],
"xhr/xmlhttprequest-network-error-sync.htm": [
- "c4a887a1ebee76390dea928f8c56a2c8f34d6ad2",
+ "ee367fbe0ee245b9f8dfbf6de13297e2b6239bc0",
"testharness"
],
"xhr/xmlhttprequest-network-error.htm": [
@@ -739973,7 +754521,7 @@
"testharness"
],
"xhr/xmlhttprequest-unsent.htm": [
- "eb52d63eef971895f69f1b0151baa457250dd452",
+ "82282b0163e6ab493de404920c66a626d954c2fe",
"testharness"
],
"xslt/META.yml": [
diff --git a/tests/wpt/metadata/css/css-regions/animations/animations-001.html.ini b/tests/wpt/metadata/css/css-regions/animations/animations-001.html.ini
deleted file mode 100644
index a095b42c651..00000000000
--- a/tests/wpt/metadata/css/css-regions/animations/animations-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[animations-001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html.ini b/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html.ini
deleted file mode 100644
index 5b7ad4fdc4c..00000000000
--- a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[extract-ordered-lists-in-regions-explicit-counters-002.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html.ini b/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html.ini
deleted file mode 100644
index a081500daab..00000000000
--- a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[extract-ordered-lists-in-regions-explicit-counters-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html.ini b/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html.ini
deleted file mode 100644
index da163e9c49a..00000000000
--- a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[extract-ordered-lists-in-regions-explicit-counters-004.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html.ini b/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html.ini
deleted file mode 100644
index 2f736712800..00000000000
--- a/tests/wpt/metadata/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[extract-ordered-lists-in-regions-explicit-counters-005.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/elements/canvas3d-001.html.ini b/tests/wpt/metadata/css/css-regions/elements/canvas3d-001.html.ini
deleted file mode 100644
index cc4dc5a7b8d..00000000000
--- a/tests/wpt/metadata/css/css-regions/elements/canvas3d-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[canvas3d-001.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/elements/canvas3d-002.html.ini b/tests/wpt/metadata/css/css-regions/elements/canvas3d-002.html.ini
deleted file mode 100644
index bcfb3650944..00000000000
--- a/tests/wpt/metadata/css/css-regions/elements/canvas3d-002.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[canvas3d-002.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/elements/iframe-001.html.ini b/tests/wpt/metadata/css/css-regions/elements/iframe-001.html.ini
deleted file mode 100644
index 93990ef882e..00000000000
--- a/tests/wpt/metadata/css/css-regions/elements/iframe-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[iframe-001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-001.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-001.html.ini
deleted file mode 100644
index 9c6b7aae44e..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-flexbox-001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-002.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-002.html.ini
deleted file mode 100644
index 5651ca16a0d..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-flexbox-002.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-003.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-003.html.ini
deleted file mode 100644
index f02127b72d9..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-flexbox-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-004.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-004.html.ini
deleted file mode 100644
index 8bb69746d91..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-flexbox-004.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-flexbox-004.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html.ini
deleted file mode 100644
index 38ca1aa731d..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-autoheight-flexbox-001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html.ini
deleted file mode 100644
index 68d8b56368b..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-autoheight-flexbox-002.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html.ini
deleted file mode 100644
index 5ecff9ec986..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-autoheight-flexbox-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html.ini
deleted file mode 100644
index 5c8d5e3a8e6..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-autoheight-flexbox-004.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html.ini
deleted file mode 100644
index c58116cd25d..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html.ini
deleted file mode 100644
index 6a4e5f017e5..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-002.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html.ini
deleted file mode 100644
index 61dcc5229bb..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html.ini
deleted file mode 100644
index 521adaa20dc..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-004.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html.ini
deleted file mode 100644
index 9a5c38264cb..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-005.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html.ini
deleted file mode 100644
index be3e1649be1..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-006.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html.ini
deleted file mode 100644
index 8435b31bf4d..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-007.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html.ini
deleted file mode 100644
index e6b5ab69724..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[autoheight-regions-in-fixed-sized-flexbox-008.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/column-flexbox-break.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/column-flexbox-break.html.ini
deleted file mode 100644
index 033d45918bf..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/column-flexbox-break.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[column-flexbox-break.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-001.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-001.html.ini
deleted file mode 100644
index 2a442098b0a..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-flexbox-001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-002.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-002.html.ini
deleted file mode 100644
index 22dbe68be61..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-flexbox-002.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-003.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-003.html.ini
deleted file mode 100644
index cf0e845e5d5..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-flexbox-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-004.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-004.html.ini
deleted file mode 100644
index 44332dcfaa2..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/regions-flexbox-004.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-flexbox-004.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/row-flexbox-break.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/row-flexbox-break.html.ini
deleted file mode 100644
index 3570f4cf0c9..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/row-flexbox-break.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[row-flexbox-break.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/flexbox/visibility-regions-in-flexbox.html.ini b/tests/wpt/metadata/css/css-regions/flexbox/visibility-regions-in-flexbox.html.ini
deleted file mode 100644
index c8a1e6f7e55..00000000000
--- a/tests/wpt/metadata/css/css-regions/flexbox/visibility-regions-in-flexbox.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[visibility-regions-in-flexbox.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-003.html.ini b/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-003.html.ini
deleted file mode 100644
index 343b0afb57d..00000000000
--- a/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-resizing-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-007.html.ini b/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-007.html.ini
deleted file mode 100644
index db2df3e3038..00000000000
--- a/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-007.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-resizing-007.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-009.html.ini b/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-009.html.ini
deleted file mode 100644
index fa7511605e1..00000000000
--- a/tests/wpt/metadata/css/css-regions/interactivity/resizing/regions-resizing-009.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-resizing-009.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-003.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-003.html.ini
deleted file mode 100644
index 2c3588e39c7..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-004.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-004.html.ini
deleted file mode 100644
index 58ab1b8eb28..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-004.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-004.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-006.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-006.html.ini
deleted file mode 100644
index 6586d5936b8..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-006.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-006.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-008.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-008.html.ini
deleted file mode 100644
index 1124b07bd53..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-008.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-008.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-009.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-009.html.ini
deleted file mode 100644
index 9335b1d9b9b..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-009.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-009.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-011.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-011.html.ini
deleted file mode 100644
index 958215a4f96..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-011.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-011.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-012.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-012.html.ini
deleted file mode 100644
index 8b58eaf6518..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-012.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-012.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-013.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-013.html.ini
deleted file mode 100644
index 726516643b7..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-013.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-013.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-015.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-015.html.ini
deleted file mode 100644
index 857b6f6189d..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-015.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-015.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-016.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-016.html.ini
deleted file mode 100644
index 24a961db7b8..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-016.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-016.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-017.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-017.html.ini
deleted file mode 100644
index aa19077aae4..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-017.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-017.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-019.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-019.html.ini
deleted file mode 100644
index 1a1a4ddd3b0..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-019.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-019.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-021.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-021.html.ini
deleted file mode 100644
index f0866bb9aa9..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-021.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-021.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-022.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-022.html.ini
deleted file mode 100644
index 74a9f40c89d..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-022.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-022.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-023.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-023.html.ini
deleted file mode 100644
index e7b0d92af98..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-023.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-023.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-024.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-024.html.ini
deleted file mode 100644
index c15d22355a2..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-024.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-024.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-025.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-025.html.ini
deleted file mode 100644
index f5a925ceaa7..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-025.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-025.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-026.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-026.html.ini
deleted file mode 100644
index fd179d6925b..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-026.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-026.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-027.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-027.html.ini
deleted file mode 100644
index c0fb7fbaafa..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-027.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-027.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-028.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-028.html.ini
deleted file mode 100644
index 9787f1915c3..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-028.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-028.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-029.html.ini b/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-029.html.ini
deleted file mode 100644
index 8028ae6d3f5..00000000000
--- a/tests/wpt/metadata/css/css-regions/multicolumn/regions-multicol-029.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-multicol-029.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-001.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-001.html.ini
deleted file mode 100644
index 554a0b38626..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-002.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-002.html.ini
deleted file mode 100644
index b8201b95185..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-002.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-003.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-003.html.ini
deleted file mode 100644
index 8636e039804..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-003.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-004.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-004.html.ini
deleted file mode 100644
index 62f3783e95e..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-004.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-004.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-005.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-005.html.ini
deleted file mode 100644
index 6dff1e9aaba..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-005.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-005.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-006.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-006.html.ini
deleted file mode 100644
index 293ba6273f4..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-006.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-006.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-007.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-007.html.ini
deleted file mode 100644
index 25582a0fc40..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-007.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-007.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-008.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-008.html.ini
deleted file mode 100644
index a7f1633d5a9..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-008.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-008.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-009.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-009.html.ini
deleted file mode 100644
index b4b506dff98..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-009.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-009.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-010.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-010.html.ini
deleted file mode 100644
index 4a860ddc878..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-010.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-010.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-011.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-011.html.ini
deleted file mode 100644
index 255e14a173b..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-011.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-011.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-012.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-012.html.ini
deleted file mode 100644
index ee1170bad30..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-012.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-012.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-013.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-013.html.ini
deleted file mode 100644
index 66306bece65..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-013.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-013.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-014.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-014.html.ini
deleted file mode 100644
index e9232b2ba4f..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-014.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-014.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-015.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-015.html.ini
deleted file mode 100644
index 116bbcf9d12..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-015.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-015.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-016.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-016.html.ini
deleted file mode 100644
index 260f38a37c5..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-016.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-016.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-018.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-018.html.ini
deleted file mode 100644
index 3056ec7e324..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-018.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-018.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-019.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-019.html.ini
deleted file mode 100644
index 2db6c7720ae..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-019.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-019.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-020.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-020.html.ini
deleted file mode 100644
index 96ac2a1c5a7..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-020.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-020.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-021.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-021.html.ini
deleted file mode 100644
index c72a13f5634..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-021.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-021.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-022.html.ini b/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-022.html.ini
deleted file mode 100644
index 58ca9043072..00000000000
--- a/tests/wpt/metadata/css/css-regions/transforms/regions-transforms-022.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[regions-transforms-022.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html.ini b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html.ini
new file mode 100644
index 00000000000..1e41a1d6e6b
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html.ini
@@ -0,0 +1,2 @@
+[white-space-pre-wrap-trailing-spaces-006.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini
new file mode 100644
index 00000000000..871f3de0ebb
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html.ini
@@ -0,0 +1,2 @@
+[white-space-pre-wrap-trailing-spaces-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini
new file mode 100644
index 00000000000..74798f57999
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html.ini
@@ -0,0 +1,2 @@
+[white-space-pre-wrap-trailing-spaces-008.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html.ini b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html.ini
new file mode 100644
index 00000000000..d402699f659
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html.ini
@@ -0,0 +1,2 @@
+[white-space-pre-wrap-trailing-spaces-009.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html.ini b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html.ini
new file mode 100644
index 00000000000..c9fbd67ca50
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html.ini
@@ -0,0 +1,2 @@
+[white-space-pre-wrap-trailing-spaces-010.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini
new file mode 100644
index 00000000000..9a188c58a74
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html.ini
@@ -0,0 +1,2 @@
+[white-space-pre-wrap-trailing-spaces-011.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
index f8e7e539aae..4a1e8110f6f 100644
--- a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
+++ b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
@@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
- [Hit test within unscaled box]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/css-values/ch-pseudo-recalc-on-font-load.html.ini b/tests/wpt/metadata/css/css-values/ch-pseudo-recalc-on-font-load.html.ini
new file mode 100644
index 00000000000..0b86720af14
--- /dev/null
+++ b/tests/wpt/metadata/css/css-values/ch-pseudo-recalc-on-font-load.html.ini
@@ -0,0 +1,17 @@
+[ch-pseudo-recalc-on-font-load.html]
+ expected: ERROR
+ [ch in pseudo-element ::first-letter should be recalculated after loading a web font]
+ expected: FAIL
+
+ [ch in pseudo-element ::marker should be recalculated after loading a web font]
+ expected: FAIL
+
+ [ch in pseudo-element ::after should be recalculated after loading a web font]
+ expected: FAIL
+
+ [ch in pseudo-element ::first-line should be recalculated after loading a web font]
+ expected: FAIL
+
+ [ch in pseudo-element ::before should be recalculated after loading a web font]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini b/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini
index a07c3f293a1..1a708ae9c50 100644
--- a/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini
+++ b/tests/wpt/metadata/css/css-values/lh-rlh-on-root-001.html.ini
@@ -17,3 +17,9 @@
[rlh in font-size on root]
expected: FAIL
+ [lh in line-height on root]
+ expected: FAIL
+
+ [rlh in line-height on root]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini
new file mode 100644
index 00000000000..4c79907309b
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini
@@ -0,0 +1,4 @@
+[CaretPosition-001.html]
+ [Element at (400, 100)]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
new file mode 100644
index 00000000000..e38782d8c85
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
@@ -0,0 +1,4 @@
+[elementFromPoint-001.html]
+ [CSSOM View - 5 - extensions to the Document interface]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
index f10cc491003..9eed3a29e9a 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,12 +312,18 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
- [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: combined response Content-Type: */* text/html]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
index cddaebcd819..87c807a49ff 100644
--- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -11,9 +11,3 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
- [X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
- expected: FAIL
-
- [Content-Type-Options%3A%20nosniff]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
index 6bd06899fdd..ba7869a4741 100644
--- a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
+++ b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
@@ -5,7 +5,7 @@
expected: FAIL
[Embedded credentials are treated as network errors in frames.]
- expected: FAIL
+ expected: TIMEOUT
[Embedded credentials are treated as network errors in new windows.]
expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
new file mode 100644
index 00000000000..385376c7321
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_4.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
index 5f60c78e73c..b3bd9f4c289 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index e440b1e38c6..dc856a3d5a3 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js.ini
index da4c074ea0a..6fbb9fd8d44 100644
--- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js.ini
+++ b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js.ini
@@ -1,8 +1,5 @@
[bailout-exception-vs-return-origin.sub.window.html]
expected: TIMEOUT
- [document.open should throw an InvalidStateError when the throw-on-dynamic-markup-insertion counter is incremented even if the document is cross-origin]
- expected: FAIL
-
[document.open should throw a SecurityError with cross-origin document even when the ignore-opens-during-unload counter is greater than 0 (during unload event)]
expected: FAIL
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..41efbaa64d7
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..68bde792a04
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..2d7cf8eae9e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..5f5bde466bf
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..697b1c45e29
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..281f2b968ea
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..e26de23b9f1
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..ebdb0e600dd
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..6e6321f5809
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..6f1817b75a0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..9f3259468a5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..abfd4e5a022
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length > 4k is stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4a9b4a090b3
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..5e12738d563
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..425e5f5e235
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..8e6c6413824
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..32198705898
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..297a1a8b700
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..0fa125e3440
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..cf52cedf2fe
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..b4e9ca6a7be
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..9939468c425
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..79560d3364e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..00916b2ecc5
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length < 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..4884520913f
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..cc41a8da9db
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..5c85b56c678
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..685a7c94706
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..def6b15e60a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..a07ca4ba349
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[cross-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini
new file mode 100644
index 00000000000..37ca2206b6d
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini
new file mode 100644
index 00000000000..27806b2cdf0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini
new file mode 100644
index 00000000000..7b7cca3a6f0
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini
new file mode 100644
index 00000000000..d0200d0f402
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-https.swap-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini
new file mode 100644
index 00000000000..bd8aa434544
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.keep-origin.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini
new file mode 100644
index 00000000000..051ba95758e
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html.ini
@@ -0,0 +1,4 @@
+[same-http.no-redirect.http.html]
+ [`Referer` header with length == 4k is not stripped to an origin.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
index 268949ced5c..f584fce5df1 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,4 +1,5 @@
[005.html]
+ expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/web-platform-tests/.azure-pipelines.yml b/tests/wpt/web-platform-tests/.azure-pipelines.yml
index 7e1732fd45b..4dd3e115a61 100644
--- a/tests/wpt/web-platform-tests/.azure-pipelines.yml
+++ b/tests/wpt/web-platform-tests/.azure-pipelines.yml
@@ -118,6 +118,38 @@ jobs:
directory: tools/
toxenv: py27
+- job: tools_unittest_macOS_py3
+ displayName: 'tools/ unittests: macOS (Python 3.6)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.tools_unittest']
+ pool:
+ vmImage: 'macOS-10.14'
+ steps:
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.6.x'
+ - template: tools/ci/azure/checkout.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/
+ toxenv: py36
+
+- job: tools_unittest_macOS_py38
+ displayName: 'tools/ unittests: macOS (Python 3.8)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.tools_unittest']
+ pool:
+ vmImage: 'macOS-10.14'
+ steps:
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.8.x'
+ - template: tools/ci/azure/checkout.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/
+ toxenv: py38
+
- job: wptrunner_unittest_macOS
displayName: 'tools/wptrunner/ unittests: macOS'
dependsOn: decision
@@ -129,6 +161,39 @@ jobs:
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wptrunner/
+ toxenv: py27
+
+- job: wptrunner_unittest_macOS_py3
+ displayName: 'tools/wptrunner/ unittests: macOS (Python 3.6)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
+ pool:
+ vmImage: 'macOS-10.14'
+ steps:
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.6.x'
+ - template: tools/ci/azure/checkout.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wptrunner/
+ toxenv: py36
+
+- job: wptrunner_unittest_macOS_py38
+ displayName: 'tools/wptrunner/ unittests: macOS (Python 3.8)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
+ pool:
+ vmImage: 'macOS-10.14'
+ steps:
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.8.x'
+ - template: tools/ci/azure/checkout.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wptrunner/
+ toxenv: py38
- job: wpt_integration_macOS
displayName: 'tools/wpt/ tests: macOS'
@@ -145,6 +210,53 @@ jobs:
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wpt/
+ toxenv: py27
+
+- job: wpt_integration_macOS_py3
+ displayName: 'tools/wpt/ tests: macOS (Python 3.6)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wpt_integration']
+ pool:
+ vmImage: 'macOS-10.14'
+ steps:
+ # full checkout required
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.6.x'
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '2.7.x'
+ - template: tools/ci/azure/install_chrome.yml
+ - template: tools/ci/azure/install_firefox.yml
+ - template: tools/ci/azure/update_hosts.yml
+ - template: tools/ci/azure/update_manifest.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wpt/
+ toxenv: py36
+
+- job: wpt_integration_macOS_py38
+ displayName: 'tools/wpt/ tests: macOS (Python 3.8)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wpt_integration']
+ pool:
+ vmImage: 'macOS-10.14'
+ steps:
+ # full checkout required
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.8.x'
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '2.7.x'
+ - template: tools/ci/azure/install_chrome.yml
+ - template: tools/ci/azure/install_firefox.yml
+ - template: tools/ci/azure/update_hosts.yml
+ - template: tools/ci/azure/update_manifest.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wpt/
+ toxenv: py38
- job: tools_unittest_win
displayName: 'tools/ unittests: Windows'
@@ -163,7 +275,7 @@ jobs:
toxenv: py27
- job: tools_unittest_win_py3
- displayName: 'tools/ unittests: Windows Python 3'
+ displayName: 'tools/ unittests: Windows (Python 3.6)'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.tools_unittest']
pool:
@@ -172,12 +284,30 @@ jobs:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.6.x'
+ addToPath: false
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/
toxenv: py36
+- job: tools_unittest_win_py38
+ displayName: 'tools/ unittests: Windows (Python 3.8)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.tools_unittest']
+ pool:
+ vmImage: 'windows-2019'
+ steps:
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.8.x'
+ addToPath: false
+ - template: tools/ci/azure/checkout.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/
+ toxenv: py38
+
- job: wptrunner_unittest_win
displayName: 'tools/wptrunner/ unittests: Windows'
dependsOn: decision
@@ -192,6 +322,41 @@ jobs:
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wptrunner/
+ toxenv: py27
+
+- job: wptrunner_unittest_win_py3
+ displayName: 'tools/wptrunner/ unittests: Windows (Python 3.6)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
+ pool:
+ vmImage: 'windows-2019'
+ steps:
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.6.x'
+ addToPath: false
+ - template: tools/ci/azure/checkout.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wptrunner/
+ toxenv: py36
+
+- job: wptrunner_unittest_win_py38
+ displayName: 'tools/wptrunner/ unittests: Windows (Python 3.8)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
+ pool:
+ vmImage: 'windows-2019'
+ steps:
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.8.x'
+ addToPath: false
+ - template: tools/ci/azure/checkout.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wptrunner/
+ toxenv: py38
- job: wpt_integration_win
displayName: 'tools/wpt/ tests: Windows'
@@ -213,6 +378,61 @@ jobs:
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wpt/
+ toxenv: py27
+
+- job: wpt_integration_win_py3
+ displayName: 'tools/wpt/ tests: Windows (Python 3.6)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wpt_integration']
+ pool:
+ vmImage: 'windows-2019'
+ steps:
+ # full checkout required
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.6.x'
+ addToPath: false
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '2.7.x'
+ addToPath: true
+ # currently just using the outdated Chrome/Firefox on the VM rather than
+ # figuring out how to install Chrome Dev channel on Windows
+ # - template: tools/ci/azure/install_chrome.yml
+ # - template: tools/ci/azure/install_firefox.yml
+ - template: tools/ci/azure/update_hosts.yml
+ - template: tools/ci/azure/update_manifest.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wpt/
+ toxenv: py36
+
+- job: wpt_integration_win_py38
+ displayName: 'tools/wpt/ tests: Windows (Python 3.8)'
+ dependsOn: decision
+ condition: dependencies.decision.outputs['test_jobs.wpt_integration']
+ pool:
+ vmImage: 'windows-2019'
+ steps:
+ # full checkout required
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '3.8.x'
+ addToPath: false
+ - task: UsePythonVersion@0
+ inputs:
+ versionSpec: '2.7.x'
+ addToPath: true
+ # currently just using the outdated Chrome/Firefox on the VM rather than
+ # figuring out how to install Chrome Dev channel on Windows
+ # - template: tools/ci/azure/install_chrome.yml
+ # - template: tools/ci/azure/install_firefox.yml
+ - template: tools/ci/azure/update_hosts.yml
+ - template: tools/ci/azure/update_manifest.yml
+ - template: tools/ci/azure/tox_pytest.yml
+ parameters:
+ directory: tools/wpt/
+ toxenv: py38
- job: infrastructure_win10
displayName: 'infrastructure/ tests: Windows 10'
diff --git a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html
index 1056eb078f4..5acee165ba9 100644
--- a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html
+++ b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html
@@ -19,121 +19,121 @@
var t = async_test("Missing arguments cause TypeError");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.scale(); });
-assert_throws(new TypeError(), function() { ctx.scale(1); });
-assert_throws(new TypeError(), function() { ctx.rotate(); });
-assert_throws(new TypeError(), function() { ctx.translate(); });
-assert_throws(new TypeError(), function() { ctx.translate(0); });
+assert_throws_js(TypeError, function() { ctx.scale(); });
+assert_throws_js(TypeError, function() { ctx.scale(1); });
+assert_throws_js(TypeError, function() { ctx.rotate(); });
+assert_throws_js(TypeError, function() { ctx.translate(); });
+assert_throws_js(TypeError, function() { ctx.translate(0); });
if (ctx.transform) { // (avoid spurious failures, since the aim here is not to test that all features are supported)
- assert_throws(new TypeError(), function() { ctx.transform(); });
- assert_throws(new TypeError(), function() { ctx.transform(1); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(); });
+ assert_throws_js(TypeError, function() { ctx.transform(1); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0, 1, 0); });
}
if (ctx.setTransform) {
- assert_throws(new TypeError(), function() { ctx.setTransform(1); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0, 1, 0); });
}
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.createPattern(canvas); });
-assert_throws(new TypeError(), function() { ctx.clearRect(); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.moveTo(); });
-assert_throws(new TypeError(), function() { ctx.moveTo(0); });
-assert_throws(new TypeError(), function() { ctx.lineTo(); });
-assert_throws(new TypeError(), function() { ctx.lineTo(0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.rect(); });
-assert_throws(new TypeError(), function() { ctx.rect(0); });
-assert_throws(new TypeError(), function() { ctx.rect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.rect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arc(); });
-assert_throws(new TypeError(), function() { ctx.arc(0); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.createPattern(canvas); });
+assert_throws_js(TypeError, function() { ctx.clearRect(); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.moveTo(); });
+assert_throws_js(TypeError, function() { ctx.moveTo(0); });
+assert_throws_js(TypeError, function() { ctx.lineTo(); });
+assert_throws_js(TypeError, function() { ctx.lineTo(0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.rect(); });
+assert_throws_js(TypeError, function() { ctx.rect(0); });
+assert_throws_js(TypeError, function() { ctx.rect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.rect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arc(); });
+assert_throws_js(TypeError, function() { ctx.arc(0); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0, 1, 0); });
// (6th argument to arc is optional)
if (ctx.isPointInPath) {
- assert_throws(new TypeError(), function() { ctx.isPointInPath(); });
- assert_throws(new TypeError(), function() { ctx.isPointInPath(0); });
+ assert_throws_js(TypeError, function() { ctx.isPointInPath(); });
+ assert_throws_js(TypeError, function() { ctx.isPointInPath(0); });
}
if (ctx.drawFocusRing) {
- assert_throws(new TypeError(), function() { ctx.drawFocusRing(); });
- assert_throws(new TypeError(), function() { ctx.drawFocusRing(canvas); });
- assert_throws(new TypeError(), function() { ctx.drawFocusRing(canvas, 0); });
+ assert_throws_js(TypeError, function() { ctx.drawFocusRing(); });
+ assert_throws_js(TypeError, function() { ctx.drawFocusRing(canvas); });
+ assert_throws_js(TypeError, function() { ctx.drawFocusRing(canvas, 0); });
}
if (ctx.fillText) {
- assert_throws(new TypeError(), function() { ctx.fillText(); });
- assert_throws(new TypeError(), function() { ctx.fillText('test'); });
- assert_throws(new TypeError(), function() { ctx.fillText('test', 0); });
- assert_throws(new TypeError(), function() { ctx.strokeText(); });
- assert_throws(new TypeError(), function() { ctx.strokeText('test'); });
- assert_throws(new TypeError(), function() { ctx.strokeText('test', 0); });
- assert_throws(new TypeError(), function() { ctx.measureText(); });
+ assert_throws_js(TypeError, function() { ctx.fillText(); });
+ assert_throws_js(TypeError, function() { ctx.fillText('test'); });
+ assert_throws_js(TypeError, function() { ctx.fillText('test', 0); });
+ assert_throws_js(TypeError, function() { ctx.strokeText(); });
+ assert_throws_js(TypeError, function() { ctx.strokeText('test'); });
+ assert_throws_js(TypeError, function() { ctx.strokeText('test', 0); });
+ assert_throws_js(TypeError, function() { ctx.measureText(); });
}
-assert_throws(new TypeError(), function() { ctx.drawImage(); });
-assert_throws(new TypeError(), function() { ctx.drawImage(canvas); });
-assert_throws(new TypeError(), function() { ctx.drawImage(canvas, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(); });
+assert_throws_js(TypeError, function() { ctx.drawImage(canvas); });
+assert_throws_js(TypeError, function() { ctx.drawImage(canvas, 0); });
// TODO: n >= 3 args on drawImage could be either a valid overload,
// or too few for another overload, or too many for another
// overload - what should happen?
if (ctx.createImageData) {
- assert_throws(new TypeError(), function() { ctx.createImageData(); });
- assert_throws(new TypeError(), function() { ctx.createImageData(1); });
+ assert_throws_js(TypeError, function() { ctx.createImageData(); });
+ assert_throws_js(TypeError, function() { ctx.createImageData(1); });
}
if (ctx.getImageData) {
- assert_throws(new TypeError(), function() { ctx.getImageData(); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0, 0); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0, 0); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0, 0, 1); });
}
if (ctx.putImageData) {
var imgdata = ctx.getImageData(0, 0, 1, 1);
- assert_throws(new TypeError(), function() { ctx.putImageData(); });
- assert_throws(new TypeError(), function() { ctx.putImageData(imgdata); });
- assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 0); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(imgdata); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 0); });
}
var g = ctx.createLinearGradient(0, 0, 0, 0);
-assert_throws(new TypeError(), function() { g.addColorStop(); });
-assert_throws(new TypeError(), function() { g.addColorStop(0); });
+assert_throws_js(TypeError, function() { g.addColorStop(); });
+assert_throws_js(TypeError, function() { g.addColorStop(0); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html
index 9a74700e159..e68f16ff8b0 100644
--- a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html
+++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.drawImage(null, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(null, 0, 0); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html
index 5caea5974ea..5370c4d859c 100644
--- a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html
+++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html
@@ -19,10 +19,10 @@
var t = async_test("Incorrect image types in drawImage do not match any defined overloads, so WebIDL throws a TypeError");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.drawImage(undefined, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage("", 0, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage(document.createElement('p'), 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(undefined, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage("", 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(document.createElement('p'), 0, 0); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html
index 23778452599..6ff6bae53e6 100644
--- a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html
+++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html
@@ -22,15 +22,15 @@ _addTest(function(canvas, ctx) {
var canvas2 = document.createElement('canvas');
canvas2.width = 0;
canvas2.height = 50;
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(canvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(canvas2, 0, 0); });
canvas2.width = 50;
canvas2.height = 0;
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(canvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(canvas2, 0, 0); });
canvas2.width = 0;
canvas2.height = 0;
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(canvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(canvas2, 0, 0); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html
index 6cd5bfb4c02..8618c1b6c53 100644
--- a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html
+++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html
@@ -21,9 +21,9 @@ _addTest(function(canvas, ctx) {
ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 100, 50);
-assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(document.getElementById('red-zerowidth.svg'), 0, 0, 100, 50); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(document.getElementById('red-zeroheight.svg'), 0, 0, 100, 50); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(document.getElementById('red-zerosize.svg'), 0, 0, 100, 50); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(document.getElementById('red-zerowidth.svg'), 0, 0, 100, 50); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(document.getElementById('red-zeroheight.svg'), 0, 0, 100, 50); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(document.getElementById('red-zerosize.svg'), 0, 0, 100, 50); });
_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html
index 546859be21f..34586890171 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html
@@ -19,29 +19,29 @@
var t = async_test("createLinearGradient() throws TypeError if arguments are not finite");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(-Infinity, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(NaN, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, -Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, NaN, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, -Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, NaN, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, NaN); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(-Infinity, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(NaN, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, -Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, NaN, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, -Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, NaN, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, NaN); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, Infinity, Infinity); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html
index 73c2bc05d54..265829fad47 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html
@@ -20,20 +20,20 @@ var t = async_test("");
_addTest(function(canvas, ctx) {
var g = ctx.createLinearGradient(0, 0, 100, 0);
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'rgb(NaN%, NaN%, NaN%)'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, null); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'rgb(NaN%, NaN%, NaN%)'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, null); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
var g = ctx.createRadialGradient(0, 0, 0, 100, 0, 0);
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'rgb(NaN%, NaN%, NaN%)'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, null); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'rgb(NaN%, NaN%, NaN%)'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, null); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html
index a165c55c3ab..989d89ee67e 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html
@@ -20,11 +20,11 @@ var t = async_test("");
_addTest(function(canvas, ctx) {
var g = ctx.createLinearGradient(0, 0, 100, 0);
-assert_throws("INDEX_SIZE_ERR", function() { g.addColorStop(-1, '#000'); });
-assert_throws("INDEX_SIZE_ERR", function() { g.addColorStop(2, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(Infinity, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(-Infinity, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(NaN, '#000'); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { g.addColorStop(-1, '#000'); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { g.addColorStop(2, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(Infinity, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(-Infinity, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(NaN, '#000'); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html
index d02876d42c3..5146f44fe4f 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html
@@ -19,9 +19,9 @@
var t = async_test("createRadialGradient() throws INDEX_SIZE_ERR if either radius is negative");
_addTest(function(canvas, ctx) {
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html
index 08f60db93a2..9c17cb40813 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html
@@ -19,81 +19,81 @@
var t = async_test("createRadialGradient() throws TypeError if arguments are not finite");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(-Infinity, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(NaN, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, -Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, NaN, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, NaN, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, -Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, NaN, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, -Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, NaN, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, NaN); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(-Infinity, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(NaN, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, -Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, NaN, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, NaN, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, -Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, NaN, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, -Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, NaN, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, NaN); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, Infinity); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html
index 04615b78988..5a64551e39f 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html
@@ -23,19 +23,19 @@ canvas.width = 0;
canvas.height = 10;
_assertSame(canvas.width, 0, "canvas.width", "0");
_assertSame(canvas.height, 10, "canvas.height", "10");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(canvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(canvas, 'repeat'); });
canvas.width = 10;
canvas.height = 0;
_assertSame(canvas.width, 10, "canvas.width", "10");
_assertSame(canvas.height, 0, "canvas.height", "0");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(canvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(canvas, 'repeat'); });
canvas.width = 0;
canvas.height = 0;
_assertSame(canvas.width, 0, "canvas.width", "0");
_assertSame(canvas.height, 0, "canvas.height", "0");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(canvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(canvas, 'repeat'); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html
index 7040de466e4..6384aa4443d 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html
@@ -20,7 +20,7 @@ var t = async_test("");
_addTest(function(canvas, ctx) {
var img = document.getElementById('broken.png');
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(img, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(img, 'repeat'); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html
index 0df01543779..992e889b680 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.createPattern(null, 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern(null, 'repeat'); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html
index 896df503898..09dd31db5c5 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.createPattern('../images/red.png', 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern('../images/red.png', 'repeat'); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html
index 04a13779ad5..f0ca10ed7f6 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.createPattern(undefined, 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern(undefined, 'repeat'); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html
index c7383cca998..496b91ad2a3 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(canvas, "Repeat"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(canvas, "Repeat"); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html
index 0b92f58007e..9cccbdb5b41 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(canvas, "repeat\0"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(canvas, "repeat\0"); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html
index c04697ad6cd..53e9623a70c 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(canvas, undefined); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(canvas, undefined); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html
index 1497870ed5d..2c573b8e602 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(canvas, "invalid"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(canvas, "invalid"); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html
index 9b53e46cf2d..53df375de33 100644
--- a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html
+++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(canvas, "null"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(canvas, "null"); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html b/tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html
index 05818aeb8bb..5e4502fd8db 100644
--- a/tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html
+++ b/tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html
@@ -12,7 +12,7 @@
<script>
test(function () {
- assert_throws({ name: "NotSupportedError" },
+ assert_throws_dom("NotSupportedError",
function () {
var canvas = document.getElementById("canvas");
// Reset context
@@ -31,7 +31,7 @@ test(function () {
}, "fillRect should not affect current default path and NotSupportedError should be thrown.");
test(function () {
- assert_throws({ name: "NotSupportedError" },
+ assert_throws_dom("NotSupportedError",
function () {
var canvas = document.getElementById("canvas");
// Reset context
@@ -50,7 +50,7 @@ test(function () {
}, "strokeRect should not affect current default path and NotSupportedError should be thrown.");
test(function() {
- assert_throws({ name: "NotSupportedError" },
+ assert_throws_dom("NotSupportedError",
function () {
var canvas = document.getElementById("canvas");
// Reset context
@@ -69,7 +69,7 @@ test(function() {
}, "fillText should not affect current default path and NotSupportedError should be thrown.");
test(function() {
- assert_throws({ name: "NotSupportedError" },
+ assert_throws_dom("NotSupportedError",
function () {
var canvas = document.getElementById("canvas");
canvas.width = canvas.width;
diff --git a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-closed.html b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-closed.html
index e320c6763fe..afe1b0ae0aa 100644
--- a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-closed.html
+++ b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-closed.html
@@ -21,7 +21,7 @@ promise_test(function(t) {
canvas.height = 16;
const ctx = canvas.getContext("2d");
- assert_throws("InvalidStateError", function() { ctx.drawImage(imageBitmap, 0, 0); });
+ assert_throws_dom("InvalidStateError", function() { ctx.drawImage(imageBitmap, 0, 0); });
});
});
</script>
diff --git a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html
index c200ce36f98..3330cfb9189 100644
--- a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html
+++ b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html
@@ -79,7 +79,7 @@ testCases = [
// cause InvalidStateError.
//
// Note: https://bugs.chromium.org/p/chromium/issues/detail?id=799025
- assert_throws("InvalidStateError", () => { throw e });
+ assert_throws_dom("InvalidStateError", () => { throw e });
});
}
},
diff --git a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html
index 0d903b14b46..4b8ebc1587a 100644
--- a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html
+++ b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html
@@ -11,7 +11,7 @@
function assert_origin_unclean_getImageData(bitmap) {
const context = document.createElement("canvas").getContext("2d");
context.drawImage(bitmap, 0, 0);
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
context.getImageData(0, 0, 1, 1);
});
}
@@ -20,14 +20,14 @@ function assert_origin_unclean_drawImage(bitmap) {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.drawImage(bitmap, 0, 0);
- assert_throws('SecurityError', () => canvas.toDataURL());
+ assert_throws_dom('SecurityError', () => canvas.toDataURL());
}
function assert_origin_unclean_transferFromImageBitmap(bitmap) {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('bitmaprenderer');
ctx.transferFromImageBitmap(bitmap);
- assert_throws('SecurityError', () => canvas.toDataURL());
+ assert_throws_dom('SecurityError', () => canvas.toDataURL());
}
forEachCanvasSource("http://{{domains[www1]}}:{{ports[http][0]}}",
diff --git a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html
index a4434aec6e4..c185cd9cbd9 100644
--- a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html
+++ b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html
@@ -47,6 +47,6 @@ promise_test(async (t) => {
const image = await makeMakeHTMLImage(url)();
const bitmap = await createImageBitmap(image);
- assert_throws('DataCloneError', () => worker.postMessage(bitmap));
+ assert_throws_dom('DataCloneError', () => worker.postMessage(bitmap));
}, 'Serializing a non-origin-clean ImageBitmap throws.');
</script>
diff --git a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html
index 708f97097c1..6e836db9b96 100644
--- a/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html
+++ b/tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html
@@ -46,7 +46,7 @@ promise_test(async (t) => {
const image = await makeMakeHTMLImage(url)();
const bitmap = await createImageBitmap(image);
- assert_throws('DataCloneError',
+ assert_throws_dom('DataCloneError',
() => worker.postMessage(bitmap, [bitmap]));
}, 'Transferring a non-origin-clean ImageBitmap throws.');
diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html
index 7aabd464a9b..d5f963a2117 100644
--- a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html
+++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html
@@ -19,7 +19,7 @@
var t = async_test("arc() with negative radius throws INDEX_SIZE_ERR");
_addTest(function(canvas, ctx) {
-assert_throws("INDEX_SIZE_ERR", function() { ctx.arc(0, 0, -1, 0, 0, true); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.arc(0, 0, -1, 0, 0, true); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html
index 0fb3f77a43e..232e34874a7 100644
--- a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html
+++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html
@@ -19,7 +19,7 @@
var t = async_test("arcTo() with negative radius throws an exception");
_addTest(function(canvas, ctx) {
-assert_throws("INDEX_SIZE_ERR", function() { ctx.arcTo(0, 0, 0, 0, -1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.arcTo(0, 0, 0, 0, -1); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html
index b3a3334f7ca..9e6cc56c0b8 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html
@@ -20,9 +20,9 @@ var t = async_test("createImageData(imgdata) should throw when called with the w
_addTest(function(canvas, ctx) {
var imgdata = ctx.createImageData(1, 1);
-assert_throws(new TypeError(), function() { CanvasRenderingContext2D.prototype.createImageData.call(null, imgdata); });
-assert_throws(new TypeError(), function() { CanvasRenderingContext2D.prototype.createImageData.call(undefined, imgdata); });
-assert_throws(new TypeError(), function() { CanvasRenderingContext2D.prototype.createImageData.call({}, imgdata); });
+assert_throws_js(TypeError, function() { CanvasRenderingContext2D.prototype.createImageData.call(null, imgdata); });
+assert_throws_js(TypeError, function() { CanvasRenderingContext2D.prototype.createImageData.call(undefined, imgdata); });
+assert_throws_js(TypeError, function() { CanvasRenderingContext2D.prototype.createImageData.call({}, imgdata); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html
index 1f7ad7a1ce1..581ca179a03 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html
@@ -19,7 +19,7 @@
var t = async_test("createImageData(null) throws TypeError");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.createImageData(null); });
+assert_throws_js(TypeError, function() { ctx.createImageData(null); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html
index 2722b30f5e2..b9f008a6597 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html
@@ -19,23 +19,23 @@
var t = async_test("createImageData() throws TypeError if arguments are not finite");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.createImageData(Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(-Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, NaN); });
-assert_throws(new TypeError(), function() { ctx.createImageData(Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(-Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, NaN); });
+assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, Infinity); });
var posinfobj = { valueOf: function() { return Infinity; } },
neginfobj = { valueOf: function() { return -Infinity; } },
nanobj = { valueOf: function() { return -Infinity; } };
-assert_throws(new TypeError(), function() { ctx.createImageData(posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(neginfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(nanobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, neginfobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, nanobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(neginfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(nanobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, neginfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, nanobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, posinfobj); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html
index 670345eee51..9d766256e3c 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html
@@ -19,9 +19,9 @@
var t = async_test("createImageData(sw, sh) should throw when called with the wrong |this|");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { CanvasRenderingContext2D.prototype.createImageData.call(null, 1, 1); });
-assert_throws(new TypeError(), function() { CanvasRenderingContext2D.prototype.createImageData.call(undefined, 1, 1); });
-assert_throws(new TypeError(), function() { CanvasRenderingContext2D.prototype.createImageData.call({}, 1, 1); });
+assert_throws_js(TypeError, function() { CanvasRenderingContext2D.prototype.createImageData.call(null, 1, 1); });
+assert_throws_js(TypeError, function() { CanvasRenderingContext2D.prototype.createImageData.call(undefined, 1, 1); });
+assert_throws_js(TypeError, function() { CanvasRenderingContext2D.prototype.createImageData.call({}, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html
index f93583cf7cd..a104c33236e 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html
@@ -19,11 +19,11 @@
var t = async_test("createImageData(sw, sh) throws INDEX_SIZE_ERR if size is zero");
_addTest(function(canvas, ctx) {
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(0.99, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0.1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(0.99, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0.1); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html
index 92623500f4a..64fd0d90ae5 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html
@@ -19,55 +19,55 @@
var t = async_test("getImageData() throws TypeError if arguments are not finite");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(-Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(NaN, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, -Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, NaN, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(-Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(NaN, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, -Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, NaN, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, Infinity); });
var posinfobj = { valueOf: function() { return Infinity; } },
neginfobj = { valueOf: function() { return -Infinity; } },
nanobj = { valueOf: function() { return -Infinity; } };
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(neginfobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(nanobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, neginfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, nanobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, neginfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, nanobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, neginfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, nanobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(neginfobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(nanobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, neginfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, nanobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, neginfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, nanobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, neginfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, nanobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, posinfobj); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html
index da279aef1e8..c6d7ef98048 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html
@@ -19,13 +19,13 @@
var t = async_test("getImageData() throws INDEX_SIZE_ERR if size is zero");
_addTest(function(canvas, ctx) {
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0.1, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0.99); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, -0.1, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, -0.99); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0.1, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0.99); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, -0.1, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, -0.99); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds.html
index 5ac7af5dd90..b5bc1a57a84 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds.html
@@ -21,12 +21,12 @@ _addTest(function(canvas, ctx) {
_assertDifferent(window.ImageData, undefined, "window.ImageData", "undefined");
-assert_throws("INVALID_STATE_ERR", function() { new ImageData(new Uint8ClampedArray(0), 1); });
-assert_throws("INVALID_STATE_ERR", function() { new ImageData(new Uint8ClampedArray(3), 1); });
-assert_throws("INDEX_SIZE_ERR", function() { new ImageData(new Uint8ClampedArray(4), 0); });
-assert_throws("INDEX_SIZE_ERR", function() { new ImageData(new Uint8ClampedArray(4), 1, 2); });
-assert_throws(new TypeError(), function() { new ImageData(new Uint8Array(8), 1, 2); });
-assert_throws(new TypeError(), function() { new ImageData(new Int8Array(8), 1, 2); });
+assert_throws_dom("INVALID_STATE_ERR", function() { new ImageData(new Uint8ClampedArray(0), 1); });
+assert_throws_dom("INVALID_STATE_ERR", function() { new ImageData(new Uint8ClampedArray(3), 1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { new ImageData(new Uint8ClampedArray(4), 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { new ImageData(new Uint8ClampedArray(4), 1, 2); });
+assert_throws_js(TypeError, function() { new ImageData(new Uint8Array(8), 1, 2); });
+assert_throws_js(TypeError, function() { new ImageData(new Int8Array(8), 1, 2); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds.html
index 4b6735e4f38..461ea069304 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds.html
@@ -20,9 +20,9 @@ var t = async_test("ImageData has a usable constructor");
_addTest(function(canvas, ctx) {
_assertDifferent(window.ImageData, undefined, "window.ImageData", "undefined");
-assert_throws("INDEX_SIZE_ERR", function() { new window.ImageData(0, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { new window.ImageData(0, 1); });
-assert_throws("INDEX_SIZE_ERR", function() { new window.ImageData(1, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { new window.ImageData(0, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { new window.ImageData(0, 1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { new window.ImageData(1, 0); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html
index c4cbb4ab9d5..8adafed9db6 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html
@@ -20,88 +20,88 @@ var t = async_test("putImageData() throws TypeError if arguments are not finite"
_addTest(function(canvas, ctx) {
var imgdata = ctx.getImageData(0, 0, 10, 10);
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, -Infinity, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, NaN, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, -Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, NaN, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, -Infinity, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, NaN, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, -Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, NaN, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html
index 851bc0ddc48..c8d1990d780 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html
@@ -19,7 +19,7 @@
var t = async_test("putImageData() with null imagedata throws TypeError");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { ctx.putImageData(null, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(null, 0, 0); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html
index 4f3fe49dbfb..a032b216a9e 100644
--- a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html
+++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html
@@ -20,9 +20,9 @@ var t = async_test("putImageData() does not accept non-ImageData objects");
_addTest(function(canvas, ctx) {
var imgdata = { width: 1, height: 1, data: [255, 0, 0, 255] };
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.putImageData("cheese", 0, 0); });
-assert_throws(new TypeError(), function() { ctx.putImageData(42, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData("cheese", 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(42, 0, 0); });
});
diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py b/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py
index 1f6792d71b6..bd1e3c75768 100644
--- a/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py
+++ b/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py
@@ -229,11 +229,11 @@ def genTestUtils(TESTOUTPUTDIR, IMAGEOUTPUTDIR, TEMPLATEFILE, NAME2DIRFILE, ISOF
code)
code = re.sub(r'@assert throws (\S+_ERR) (.*);',
- r'assert_throws("\1", function() { \2; });',
+ r'assert_throws_dom("\1", function() { \2; });',
code)
code = re.sub(r'@assert throws (\S+Error) (.*);',
- r'assert_throws(new \1(), function() { \2; });',
+ r'assert_throws_js(\1, function() { \2; });',
code)
code = re.sub(r'@assert (.*) === (.*);',
diff --git a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor-endings.html b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor-endings.html
index 1dee99ff775..e5426bb979d 100644
--- a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor-endings.html
+++ b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor-endings.html
@@ -36,13 +36,13 @@ function readBlobAsPromise(blob) {
0,
{}
].forEach(value => test(t => {
- assert_throws(new TypeError(), () => new Blob([], {endings: value}),
+ assert_throws_js(TypeError, () => new Blob([], {endings: value}),
'Blob constructor should throw');
}, `Invalid "endings" value: ${JSON.stringify(value)}`));
test(t => {
const test_error = {name: 'test'};
- assert_throws(
+ assert_throws_exactly(
test_error,
() => new Blob([], { get endings() { throw test_error; }}),
'Blob constructor should propagate exceptions from "endings" property');
diff --git a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html
index 4d39ed78e0e..d2b1777b86b 100644
--- a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html
+++ b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html
@@ -25,7 +25,7 @@ test(function() {
assert_equals(blob.type, "");
}, "Blob constructor with no arguments");
test(function() {
- assert_throws(new TypeError(), function() { var blob = Blob(); });
+ assert_throws_js(TypeError, function() { var blob = Blob(); });
}, "Blob constructor with no arguments, without 'new'");
test(function() {
var blob = new Blob;
@@ -59,7 +59,7 @@ test(function() {
window,
];
args.forEach(function(arg) {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new Blob(arg);
}, "Should throw for argument " + format_value(arg) + ".");
});
@@ -124,7 +124,7 @@ test(function() {
[Symbol.iterator]: Array.prototype[Symbol.iterator],
get length() { throw test_error; }
};
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Blob(obj);
});
}, "The length getter should be invoked and any exceptions should be propagated.");
@@ -137,13 +137,13 @@ test(function() {
Object.defineProperty(list, "length", {
get: function() { throw test_error; }
});
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Blob(list);
});
}, "A platform object that supports indexed properties should be treated as a sequence for the blobParts argument (overwritten 'length'.)");
test(function() {
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
var obj = {
[Symbol.iterator]: Array.prototype[Symbol.iterator],
length: {
@@ -153,7 +153,7 @@ test(function() {
};
new Blob(obj);
});
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
var obj = {
[Symbol.iterator]: Array.prototype[Symbol.iterator],
length: { valueOf: function() { throw test_error; } }
@@ -196,7 +196,7 @@ test(function() {
assert_unreached("Should not call the getter for 2 if the getter for 1 threw.");
}
};
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Blob(obj);
});
assert_array_equals(received, [
@@ -214,19 +214,19 @@ test(function() {
// XXX should add tests edge cases of ToLength(length)
test(function() {
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Blob([{ toString: function() { throw test_error; } }]);
}, "Throwing toString");
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Blob([{ toString: undefined, valueOf: function() { throw test_error; } }]);
}, "Throwing valueOf");
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Blob([{
toString: function() { throw test_error; },
valueOf: function() { assert_unreached("Should not call valueOf if toString is present."); }
}]);
}, "Throwing toString and valueOf");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new Blob([{toString: null, valueOf: null}]);
}, "Null toString and valueOf");
}, "ToString should be called on elements of the blobParts array and any exceptions should be propagated.");
@@ -423,7 +423,7 @@ test(function() {
}, "options properties should be accessed in lexicographic order.");
test(function() {
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Blob(
[{ toString: function() { throw test_error } }],
{
@@ -464,7 +464,7 @@ test(function() {
'abc'
].forEach(arg => {
test(t => {
- assert_throws(new TypeError(), () => new Blob([], arg),
+ assert_throws_js(TypeError, () => new Blob([], arg),
'Blob constructor should throw with invalid property bag');
}, `Passing ${JSON.stringify(arg)} for options should throw`);
});
diff --git a/tests/wpt/web-platform-tests/FileAPI/file/File-constructor-endings.html b/tests/wpt/web-platform-tests/FileAPI/file/File-constructor-endings.html
index f0f9090768f..f76d3329521 100644
--- a/tests/wpt/web-platform-tests/FileAPI/file/File-constructor-endings.html
+++ b/tests/wpt/web-platform-tests/FileAPI/file/File-constructor-endings.html
@@ -36,13 +36,13 @@ function readBlobAsPromise(blob) {
0,
{}
].forEach(value => test(t => {
- assert_throws(new TypeError(), () => new File([], "name", {endings: value}),
+ assert_throws_js(TypeError, () => new File([], "name", {endings: value}),
'File constructor should throw');
}, `Invalid "endings" value: ${JSON.stringify(value)}`));
test(t => {
const test_error = {name: 'test'};
- assert_throws(
+ assert_throws_exactly(
test_error,
() => new File([], "name", { get endings() { throw test_error; }}),
'File constructor should propagate exceptions from "endings" property');
diff --git a/tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html b/tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html
index 646ed99c212..60dbb233f01 100644
--- a/tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html
+++ b/tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html
@@ -14,9 +14,9 @@ test(function() {
}, "File interface object exists");
test(t => {
- assert_throws(new TypeError(), () => new File(),
+ assert_throws_js(TypeError, () => new File(),
'Bits argument is required');
- assert_throws(new TypeError(), () => new File([]),
+ assert_throws_js(TypeError, () => new File([]),
'Name argument is required');
}, 'Required arguments');
@@ -64,13 +64,13 @@ test_first_argument({[Symbol.iterator]() {
null
].forEach(arg => {
test(t => {
- assert_throws(new TypeError(), () => new File(arg, 'world.html'),
+ assert_throws_js(TypeError, () => new File(arg, 'world.html'),
'Constructor should throw for invalid bits argument');
}, `Invalid bits argument: ${JSON.stringify(arg)}`);
});
test(t => {
- assert_throws(new Error(), () => new File([to_string_throws], 'name.txt'),
+ assert_throws_js(Error, () => new File([to_string_throws], 'name.txt'),
'Constructor should propagate exceptions');
}, 'Bits argument: object that throws');
@@ -131,7 +131,7 @@ test(function() {
'abc'
].forEach(arg => {
test(t => {
- assert_throws(new TypeError(), () => new File(['bits'], 'name.txt', arg),
+ assert_throws_js(TypeError, () => new File(['bits'], 'name.txt', arg),
'Constructor should throw for invalid property bag type');
}, `Invalid property bag: ${JSON.stringify(arg)}`);
});
@@ -150,7 +150,7 @@ test(function() {
});
test(t => {
- assert_throws(new Error(),
+ assert_throws_js(Error,
() => new File(['bits'], 'name.txt', {type: to_string_throws}),
'Constructor should propagate exceptions');
}, 'Property bag propagates exceptions');
diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html
index 310fa85a00d..e7279fe4bd4 100644
--- a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html
+++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html
@@ -12,7 +12,7 @@ test(function() {
var reader = new FileReader();
reader.readAsText(blob_1)
assert_equals(reader.readyState, FileReader.LOADING, "readyState Must be LOADING")
- assert_throws("InvalidStateError", function () {
+ assert_throws_dom("InvalidStateError", function () {
reader.readAsText(blob_2)
})
}, 'test FileReader InvalidStateError exception for readAsText');
@@ -23,7 +23,7 @@ test(function() {
var reader = new FileReader();
reader.readAsDataURL(blob_1)
assert_equals(reader.readyState, FileReader.LOADING, "readyState Must be LOADING")
- assert_throws("InvalidStateError", function () {
+ assert_throws_dom("InvalidStateError", function () {
reader.readAsDataURL(blob_2)
})
}, 'test FileReader InvalidStateError exception for readAsDataURL');
@@ -34,7 +34,7 @@ test(function() {
var reader = new FileReader();
reader.readAsArrayBuffer(blob_1)
assert_equals(reader.readyState, FileReader.LOADING, "readyState Must be LOADING")
- assert_throws("InvalidStateError", function () {
+ assert_throws_dom("InvalidStateError", function () {
reader.readAsArrayBuffer(blob_2)
})
}, 'test FileReader InvalidStateError exception for readAsArrayBuffer');
@@ -49,7 +49,7 @@ async_test(function() {
triggered = true;
assert_equals(reader.readyState, FileReader.LOADING,
"readyState must be LOADING")
- assert_throws("InvalidStateError", function () {
+ assert_throws_dom("InvalidStateError", function () {
reader.readAsArrayBuffer(blob_2)
})
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/bigint_value.htm b/tests/wpt/web-platform-tests/IndexedDB/bigint_value.htm
index 589eeabe6c6..9ce980a2d6e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/bigint_value.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/bigint_value.htm
@@ -62,7 +62,7 @@ value_test({val: Object(1n)},
function invalidKey(key, name) {
test(t => {
- assert_throws("DataError", () => indexedDB.cmp(0, key));
+ assert_throws_dom("DataError", () => indexedDB.cmp(0, key));
}, "BigInts as keys in IndexedDB - " + name);
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/clone-before-keypath-eval.html b/tests/wpt/web-platform-tests/IndexedDB/clone-before-keypath-eval.html
index bf67c5d6d73..8b99e1ae16c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/clone-before-keypath-eval.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/clone-before-keypath-eval.html
@@ -63,7 +63,7 @@ indexeddb_test(
const tx = db.transaction('store', 'readwrite');
const store = tx.objectStore('store');
const obj = new ProbeObject();
- assert_throws('DataError', () => { store.put(obj); },
+ assert_throws_dom('DataError', () => { store.put(obj); },
'put() should throw if primary key cannot be injected');
assert_equals(
obj.invalid_id_count, 1,
diff --git a/tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html b/tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html
index 402906fc1c1..fb278f91dba 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html
@@ -30,7 +30,7 @@ open_rq.onerror = function(e) {
assert_true(!!db)
assert_equals(db.version, 1)
assert_equals(db.objectStoreNames.length, 1)
- assert_throws("InvalidStateError", function() { db.transaction('os') })
+ assert_throws_dom("InvalidStateError", function() { db.transaction('os') })
this.done()
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idb-explicit-commit.any.js b/tests/wpt/web-platform-tests/IndexedDB/idb-explicit-commit.any.js
index ec72e1ae958..038c04720f8 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idb-explicit-commit.any.js
+++ b/tests/wpt/web-platform-tests/IndexedDB/idb-explicit-commit.any.js
@@ -61,7 +61,7 @@ promise_test(async testCase => {
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
txn.commit();
- assert_throws('TransactionInactiveError',
+ assert_throws_dom('TransactionInactiveError',
() => { objectStore.put({isbn: 'one', title: 'title1'}); },
'After commit is called, the transaction should be inactive.');
db.close();
@@ -76,7 +76,7 @@ promise_test(async testCase => {
const objectStore = txn.objectStore('books');
const putRequest = objectStore.put({isbn: 'one', title: 'title1'});
putRequest.onsuccess = testCase.step_func(() => {
- assert_throws('TransactionInactiveError',
+ assert_throws_dom('TransactionInactiveError',
() => { objectStore.put({isbn:'two', title:'title2'}); },
'The transaction should not be active in the callback of a request after '
+ 'commit() is called.');
@@ -95,7 +95,7 @@ promise_test(async testCase => {
const objectStore = txn.objectStore('books');
txn.commit();
- assert_throws('TransactionInactiveError',
+ assert_throws_dom('TransactionInactiveError',
() => { objectStore.put({isbn:'one', title:'title1'}); },
'After commit is called, the transaction should be inactive.');
@@ -116,7 +116,7 @@ promise_test(async testCase => {
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
txn.abort();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => { txn.commit(); },
'The transaction should have been aborted.');
db.close();
@@ -130,7 +130,7 @@ promise_test(async testCase => {
const txn = db.transaction(['books'], 'readwrite');
const objectStore = txn.objectStore('books');
txn.commit();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => { txn.commit(); },
'The transaction should have already committed.');
db.close();
@@ -145,7 +145,7 @@ promise_test(async testCase => {
const objectStore = txn.objectStore('books');
const putRequest = objectStore.put({isbn:'one', title:'title1'});
txn.commit();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => { txn.abort(); },
'The transaction should already have committed.');
const txn2 = db.transaction(['books'], 'readwrite');
@@ -173,7 +173,7 @@ promise_test(async testCase => {
// state.
await timeoutPromise(0);
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => { txn.commit(); },
'The transaction should be inactive so calling commit should throw.');
releaseTxnFunction();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-exception-order.html
index 1e05c9074d6..893c179e24f 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-exception-order.html
@@ -48,7 +48,7 @@ indexeddb_test(
db.deleteObjectStore('s2');
setTimeout(t.step_func(() => {
- assert_throws('TransactionInactiveError', () => { cursor.advance(1); },
+ assert_throws_dom('TransactionInactiveError', () => { cursor.advance(1); },
'"not active" check (TransactionInactiveError) ' +
'should precede "deleted" check (InvalidStateError)');
t.done();
@@ -77,7 +77,7 @@ indexeddb_test(
cursor.advance(1);
setTimeout(t.step_func(() => {
- assert_throws('TransactionInactiveError', () => { cursor.advance(1); },
+ assert_throws_dom('TransactionInactiveError', () => { cursor.advance(1); },
'"not active" check (TransactionInactiveError) ' +
'should precede "got value" check (InvalidStateError)');
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm
index ee911cc9e4b..02c7fde0c49 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm
@@ -38,10 +38,10 @@ indexeddb_test(
cursor.advance(1);
// Second try
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { cursor.advance(1); }, 'second advance');
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { cursor.advance(3); }, 'third advance');
count++;
@@ -59,19 +59,19 @@ indexeddb_test(
rq.onsuccess = t.step_func(function(e) {
var cursor = e.target.result;
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(document); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance({}); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance([]); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(""); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance("1 2"); });
t.done();
@@ -90,14 +90,14 @@ indexeddb_test(
rq.onsuccess = t.step_func(function(e) {
var cursor = e.target.result;
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(null); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(undefined); });
var myvar = null;
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(myvar); });
t.done();
@@ -116,7 +116,7 @@ indexeddb_test(
rq.onsuccess = t.step_func(function(e) {
var cursor = e.target.result;
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(); });
t.done();
@@ -134,26 +134,26 @@ indexeddb_test(
rq.onsuccess = t.step_func(function(e) {
var cursor = e.target.result;
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(-1); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(NaN); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(0); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(-0); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(Infinity); });
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(-Infinity); });
var myvar = -999999;
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(myvar); });
t.done();
@@ -178,7 +178,7 @@ indexeddb_test(
return;
}
- assert_throws({ name: "TypeError" },
+ assert_throws_js(TypeError,
function() { cursor.advance(0); });
cursor.advance(1);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue-exception-order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue-exception-order.htm
index 8002476f115..4e697bc4302 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue-exception-order.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue-exception-order.htm
@@ -19,7 +19,7 @@ indexeddb_test(
r.onsuccess = null;
const cursor = r.result;
setTimeout(t.step_func(() => {
- assert_throws('TransactionInactiveError', () => {
+ assert_throws_dom('TransactionInactiveError', () => {
cursor.continue({not: "a valid key"});
}, '"Transaction inactive" check (TransactionInactiveError) ' +
'should precede "invalid key" check (DataError)');
@@ -44,7 +44,7 @@ indexeddb_test(
cursor.continue();
r.onsuccess = t.step_func(() => {
setTimeout(t.step_func(() => {
- assert_throws('TransactionInactiveError', () => {
+ assert_throws_dom('TransactionInactiveError', () => {
cursor.continue();
}, '"Transaction inactive" check (TransactionInactiveError) ' +
'should precede "got value flag" check (InvalidStateError)');
@@ -68,7 +68,7 @@ indexeddb_test(
r.onsuccess = null;
const cursor = r.result;
cursor.continue();
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
cursor.continue({not: "a valid key"});
}, '"got value flag" check (InvalidStateError) should precede ' +
'"invalid key" check (DataError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
index 56a23a1123f..0df6e3a3a92 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
@@ -46,7 +46,7 @@ indexeddb_test(
store.deleteIndex("idx");
});
txn.oncomplete = t.step_func(function() {
- assert_throws("TransactionInactiveError", function() {
+ assert_throws_dom("TransactionInactiveError", function() {
cursor.continuePrimaryKey("A", 4);
}, "transaction-state check should precede deletion check");
t.done();
@@ -69,7 +69,7 @@ indexeddb_test(
db.deleteObjectStore("test");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.continuePrimaryKey("A", 4);
}, "deletion check should precede index source check");
t.done();
@@ -93,7 +93,7 @@ indexeddb_test(
store.deleteIndex("idx");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.continuePrimaryKey("A", 4);
}, "deletion check should precede cursor direction check");
t.done();
@@ -121,7 +121,7 @@ indexeddb_test(
return;
}
- assert_throws("InvalidAccessError", function() {
+ assert_throws_dom("InvalidAccessError", function() {
cursor.continuePrimaryKey("A", 4);
}, "direction check should precede got_value_flag check");
t.done();
@@ -149,7 +149,7 @@ indexeddb_test(
cursor.continue();
- assert_throws("InvalidAccessError", function() {
+ assert_throws_dom("InvalidAccessError", function() {
cursor.continuePrimaryKey("A", 4);
}, "direction check should precede iteration ongoing check");
t.done();
@@ -174,7 +174,7 @@ indexeddb_test(
cursor.continue();
- assert_throws("InvalidAccessError", function() {
+ assert_throws_dom("InvalidAccessError", function() {
cursor.continuePrimaryKey("A", 4);
}, "index source check should precede iteration ongoing check");
t.done();
@@ -202,7 +202,7 @@ indexeddb_test(
return;
}
- assert_throws("InvalidAccessError", function() {
+ assert_throws_dom("InvalidAccessError", function() {
cursor.continuePrimaryKey("A", 4);
}, "index source check should precede got_value_flag check");
t.done();
@@ -227,7 +227,7 @@ indexeddb_test(
cursor.continue();
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.continuePrimaryKey(null, 4);
}, "iteration ongoing check should precede unset key check");
t.done();
@@ -256,7 +256,7 @@ indexeddb_test(
return;
}
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.continuePrimaryKey(null, 4);
}, "got_value_flag check should precede unset key check");
t.done();
@@ -278,7 +278,7 @@ indexeddb_test(
cursor = e.target.result;
assert_true(!!cursor, "acquire cursor");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey(null, 4);
}, "DataError is expected if key is unset.");
t.done();
@@ -300,7 +300,7 @@ indexeddb_test(
cursor = e.target.result;
assert_true(!!cursor, "acquire cursor");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey("A", null);
}, "DataError is expected if primary key is unset.");
t.done();
@@ -325,15 +325,15 @@ indexeddb_test(
assert_equals(cursor.key, "B", "expected key");
assert_equals(cursor.primaryKey, 5, "expected primary key");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey("A", 6);
}, "DataError is expected if key is lower then current one.");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey("B", 5);
}, "DataError is expected if primary key is equal to current one.");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey("B", 4);
}, "DataError is expected if primary key is lower than current one.");
@@ -359,15 +359,15 @@ indexeddb_test(
assert_equals(cursor.key, "B", "expected key");
assert_equals(cursor.primaryKey, 7, "expected primary key");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey("C", 6);
}, "DataError is expected if key is larger then current one.");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey("B", 7);
}, "DataError is expected if primary key is equal to current one.");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
cursor.continuePrimaryKey("B", 8);
}, "DataError is expected if primary key is larger than current one.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm
index 9393e2fbf24..862c9c951b5 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm
@@ -29,7 +29,7 @@ async_test(function(t) {
assert_class_string(cursor, 'IDBCursorWithValue',
'result should be a cursor');
- assert_throws('InvalidAccessError', function() {
+ assert_throws_dom('InvalidAccessError', function() {
cursor.continuePrimaryKey(2, 2);
}, 'continuePrimaryKey() should throw if source is not an index');
});
@@ -87,7 +87,7 @@ async_test(function(t) {
assert_equals(cursor.primaryKey, testcase.expected_primaryKey,
'primaryKey should match');
- assert_throws('InvalidAccessError', function() {
+ assert_throws_dom('InvalidAccessError', function() {
cursor.continuePrimaryKey(
testcase.continue_key,
testcase.continue_primaryKey);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey.htm
index 773141cf436..df292ce3e23 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey.htm
@@ -120,7 +120,7 @@ indexeddb_test(
} else {
calledContinue = true;
if('exception' in testCase) {
- assert_throws(
+ assert_throws_dom(
testCase.exception, () => { testCase.call(cursor); },
testCase.call.toString());
} else {
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-delete-exception-order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-delete-exception-order.htm
index cc2791c7f21..96c7297b93f 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-delete-exception-order.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-delete-exception-order.htm
@@ -19,7 +19,7 @@ indexeddb_test(
r.onsuccess = null;
const cursor = r.result;
setTimeout(t.step_func(() => {
- assert_throws('TransactionInactiveError', () => {
+ assert_throws_dom('TransactionInactiveError', () => {
cursor.delete();
}, '"Transaction inactive" check (TransactionInactivError) ' +
'should precede "read only" check (ReadOnlyError)');
@@ -42,7 +42,7 @@ indexeddb_test(
r.onsuccess = null;
const cursor = r.result;
cursor.continue();
- assert_throws('ReadOnlyError', () => {
+ assert_throws_dom('ReadOnlyError', () => {
cursor.delete();
}, '"Read only" check (ReadOnlyError) should precede ' +
'"got value flag" (InvalidStateError) check');
@@ -63,7 +63,7 @@ indexeddb_test(
r.onsuccess = t.step_func(() => {
r.onsuccess = null;
const cursor = r.result;
- assert_throws('ReadOnlyError', () => {
+ assert_throws_dom('ReadOnlyError', () => {
cursor.delete();
}, '"Read only" check (ReadOnlyError) should precede ' +
'"key only flag" (InvalidStateError) check');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-update-exception-order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-update-exception-order.htm
index 4e18731ff9d..22c2940ac4a 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-update-exception-order.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-update-exception-order.htm
@@ -19,7 +19,7 @@ indexeddb_test(
r.onsuccess = null;
const cursor = r.result;
setTimeout(t.step_func(() => {
- assert_throws('TransactionInactiveError', () => {
+ assert_throws_dom('TransactionInactiveError', () => {
cursor.update('value2');
}, '"Transaction inactive" check (TransactionInactiveError) ' +
'should precede "read only" check (ReadOnlyError)');
@@ -42,7 +42,7 @@ indexeddb_test(
r.onsuccess = null;
const cursor = r.result;
cursor.continue();
- assert_throws('ReadOnlyError', () => {
+ assert_throws_dom('ReadOnlyError', () => {
cursor.update('value2');
}, '"Read only" check (ReadOnlyError) should precede '+
'"got value flag" check (InvalidStateError)');
@@ -63,7 +63,7 @@ indexeddb_test(
r.onsuccess = t.step_func(() => {
r.onsuccess = null;
const cursor = r.result;
- assert_throws('ReadOnlyError', () => {
+ assert_throws_dom('ReadOnlyError', () => {
cursor.update('value2');
}, '"Read only" check (ReadOnlyError) should precede '+
'"key only flag" check (InvalidStateError)');
@@ -85,7 +85,7 @@ indexeddb_test(
r.onsuccess = null;
const cursor = r.result;
cursor.continue();
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
cursor.update({id: 123, data: 'value2'});
}, '"Got value flag" check (InvalidStateError) should precede ' +
'"modified key" check (DataError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm
index 77b812e180a..93660566f84 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm
@@ -35,7 +35,7 @@
var cursor = e.target.result;
assert_true(cursor != null, "cursor exist");
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { cursor.advance(document); });
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm
index b41427f960a..27e040d4fec 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm
@@ -35,7 +35,7 @@
var cursor = e.target.result;
assert_true(cursor != null, "cursor exist");
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { cursor.advance(-1); });
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm
index 826cb1e1a0e..ed4c8f3dada 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm
@@ -26,7 +26,7 @@
var cursor = event.target.result;
assert_true(cursor instanceof IDBCursor);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
cursor.advance(0);
}, "Calling advance() with count argument 0 should throw TypeError.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm
index 8da5b618d45..52f8ea2ba69 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm
@@ -27,7 +27,7 @@
assert_true(cursor instanceof IDBCursor);
event.target.transaction.abort();
- assert_throws("TransactionInactiveError", function() {
+ assert_throws_dom("TransactionInactiveError", function() {
cursor.advance(1);
}, "Calling advance() should throws an exception TransactionInactiveError when the transaction is not active.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm
index b5e64d4cdce..a3420b162be 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm
@@ -27,7 +27,7 @@
assert_true(cursor instanceof IDBCursor);
cursor.advance(1);
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.advance(1);
}, "Calling advance() should throw DOMException when the cursor is currently being iterated.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm
index 517a573c49e..9aba54b1fa1 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm
@@ -26,7 +26,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exist");
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.advance(1);
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm
index 32478c141ea..9af1925cdef 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm
@@ -29,7 +29,7 @@
var cursor = event.target.result;
assert_true(cursor instanceof IDBCursor);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
cursor.advance(0);
}, "Calling advance() with count argument 0 should throw TypeError.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm
index 1accd6631a0..d2f2f84719e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm
@@ -30,7 +30,7 @@
assert_true(cursor instanceof IDBCursor);
event.target.transaction.abort();
- assert_throws("TransactionInactiveError", function() {
+ assert_throws_dom("TransactionInactiveError", function() {
cursor.advance(1);
}, "Calling advance() should throws an exception TransactionInactiveError when the transaction is not active");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm
index 387973169d0..57e4f589c41 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm
@@ -30,7 +30,7 @@
assert_true(cursor instanceof IDBCursor);
cursor.advance(1);
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.advance(1);
}, "Calling advance() should throw DOMException when the cursor is currently being iterated.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm
index cb0859c636e..454329d260c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm
@@ -25,7 +25,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exist");
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.advance(1);
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm
index d0eaef3d074..84a01092444 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm
@@ -35,7 +35,7 @@
cursor_rq.onsuccess = t.step_func(function(e) {
var cursor = e.target.result;
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { cursor.continue(document); });
assert_true(cursor instanceof IDBCursorWithValue, "cursor");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm
index 357dc157f35..f2bd4fc62e8 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm
@@ -40,7 +40,7 @@
}
// First time checks key equal, second time checks key less than
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { cursor.continue(records[0].iKey); });
cursor.continue();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm
index c5cfd85ebdb..6196bb01375 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm
@@ -47,7 +47,7 @@
case 1:
assert_equals(record.pKey, records[1].pKey, "second pKey");
assert_equals(record.iKey, records[1].iKey, "second iKey");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { cursor.continue("indexKey_2"); });
t.done();
break;
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm
index fed235685c7..7db922d6b84 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm
@@ -27,7 +27,7 @@
assert_true(cursor instanceof IDBCursor);
event.target.transaction.abort();
- assert_throws("TransactionInactiveError", function() {
+ assert_throws_dom("TransactionInactiveError", function() {
cursor.continue();
}, "Calling continue() should throws an exception TransactionInactiveError when the transaction is not active.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm
index 4a574ec90f4..b4c69aa08fe 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm
@@ -27,7 +27,7 @@
assert_true(cursor instanceof IDBCursor);
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.continue();
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm
index bd22cfecf9a..f9df05aa533 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm
@@ -39,10 +39,10 @@
cursor.continue(undefined);
// Second try
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { cursor.continue(); }, 'second continue');
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { cursor.continue(3); }, 'third continue');
count++;
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm
index 14502330b80..8cff47088fc 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm
@@ -29,7 +29,7 @@
var cursor = e.target.result;
assert_true(cursor instanceof IDBCursor, "cursor exists");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { cursor.continue(document); });
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm
index a059b62e53a..385dceaaef7 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm
@@ -29,7 +29,7 @@
var cursor = e.target.result;
assert_true(cursor instanceof IDBCursor, "cursor exist");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { cursor.continue(records[0].pKey); });
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm
index b4819c73300..480bd2f1f06 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm
@@ -40,7 +40,7 @@
case 1:
assert_equals(cursor.value.pKey, records[1].pKey, "second cursor pkey");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { cursor.continue(records[2].pKey); });
t.done();
break;
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm
index 3c1943336c3..5dff6d8f763 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm
@@ -31,7 +31,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exists");
e.target.transaction.abort();
- assert_throws("TransactionInactiveError", function() {
+ assert_throws_dom("TransactionInactiveError", function() {
cursor.continue();
}, "Calling continue() should throws an exception TransactionInactiveError when the transaction is not active.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm
index f9d656ebf89..7f56f838ea5 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm
@@ -27,7 +27,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exists");
db.deleteObjectStore("test");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.continue();
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm
index a5147f75450..7b9970d3ee0 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm
@@ -32,7 +32,7 @@
var cursor = e.target.result;
assert_true(cursor instanceof IDBCursor, "cursor exist");
- assert_throws('ReadOnlyError', function() { cursor.delete(); });
+ assert_throws_dom('ReadOnlyError', function() { cursor.delete(); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm
index bb5722ee351..3b4241d50f9 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm
@@ -30,7 +30,7 @@
});
e.target.transaction.oncomplete = t.step_func(function(e) {
- assert_throws('TransactionInactiveError', function() { window.cursor.delete(); })
+ assert_throws_dom('TransactionInactiveError', function() { window.cursor.delete(); })
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm
index 9b57bd681a9..cccce2be271 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm
@@ -27,7 +27,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exist");
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.delete();
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm
index 66eacdebe66..af08367c4cc 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm
@@ -28,7 +28,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exist");
cursor.continue();
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.delete();
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm
index 69521e66b79..b4eac9b675f 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm
@@ -30,7 +30,7 @@
var cursor = e.target.result;
assert_true(cursor != null, "cursor exist");
- assert_throws('ReadOnlyError', function() { cursor.delete(); });
+ assert_throws_dom('ReadOnlyError', function() { cursor.delete(); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm
index bdb8d93c34f..05fa9edb723 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm
@@ -29,7 +29,7 @@
});
e.target.transaction.oncomplete = t.step_func(function(e) {
- assert_throws('TransactionInactiveError', function() { window.cursor.delete(); })
+ assert_throws_dom('TransactionInactiveError', function() { window.cursor.delete(); })
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm
index 47bcd8b0057..b0d993ab961 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm
@@ -26,7 +26,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exist");
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.delete();
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm
index b37e26126a9..94a0926a50c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm
@@ -30,7 +30,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exist");
cursor.continue();
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.delete();
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm
index 03f9c2712cb..9ec247b01bd 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm
@@ -30,7 +30,7 @@
cursor_rq.onsuccess = t.step_func(function(e) {
var cursor = e.target.result;
- assert_throws('ReadOnlyError', function() { cursor.update(cursor.value); });
+ assert_throws_dom('ReadOnlyError', function() { cursor.update(cursor.value); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm
index 0f7b2a1dbe5..9386583a06a 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm
@@ -31,7 +31,7 @@
});
e.target.transaction.oncomplete = t.step_func(function(e) {
- assert_throws('TransactionInactiveError', function() { window.cursor.update(window.record); })
+ assert_throws_dom('TransactionInactiveError', function() { window.cursor.update(window.record); })
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm
index ee60da0d214..463b2f90256 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm
@@ -28,7 +28,7 @@
db.deleteObjectStore("store");
cursor.value.iKey += "_updated";
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.update(cursor.value);
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm
index a31528d1658..564d904f9fe 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm
@@ -35,7 +35,7 @@
var record = cursor.value;
record.data = document;
- assert_throws('DataCloneError', function() {
+ assert_throws_dom('DataCloneError', function() {
cursor.update(record);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm
index 1e51b1354cf..9639fb9f733 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm
@@ -33,7 +33,7 @@
var cursor = e.target.result;
assert_true(cursor instanceof IDBCursor);
- assert_throws(new TypeError(), function() { cursor.update(); });
+ assert_throws_js(TypeError, function() { cursor.update(); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm
index 1d464fbcdee..25f59a1e32c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm
@@ -33,7 +33,7 @@
var cursor = e.target.result;
assert_true(cursor instanceof IDBCursor);
- assert_throws('DataError', function() { cursor.update(null); });
+ assert_throws_dom('DataError', function() { cursor.update(null); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index8.htm
index 3b9266dbeda..cf33e1d7504 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index8.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index8.htm
@@ -34,7 +34,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exists");
cursor.continue();
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.update({ pKey: "primaryKey_0", iKey: "indexKey_0_updated" });
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm
index 65c87bd9536..6c7a13370a9 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm
@@ -28,7 +28,7 @@
cursor_rq.onsuccess = t.step_func(function(e) {
var cursor = e.target.result;
- assert_throws('ReadOnlyError', function() { cursor.update(cursor.value); });
+ assert_throws_dom('ReadOnlyError', function() { cursor.update(cursor.value); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm
index 0ce59de29c9..e19f5853bc4 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm
@@ -30,7 +30,7 @@
});
e.target.transaction.oncomplete = t.step_func(function(e) {
- assert_throws('TransactionInactiveError', function() { window.cursor.update(window.record); })
+ assert_throws_dom('TransactionInactiveError', function() { window.cursor.update(window.record); })
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm
index 5dfb82ca19d..2b73a51d42e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm
@@ -29,7 +29,7 @@
db.deleteObjectStore("test");
cursor.value += "_updated";
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.update(cursor.value);
}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm
index 16aa00dfae0..a2f8140829a 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm
@@ -33,7 +33,7 @@
var record = cursor.value;
record.data = document;
- assert_throws('DataCloneError', function() {
+ assert_throws_dom('DataCloneError', function() {
cursor.update(record);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm
index b1b736cf0ce..4751289e6df 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm
@@ -31,7 +31,7 @@
var cursor = e.target.result;
assert_true(cursor instanceof IDBCursor);
- assert_throws(new TypeError(), function() { cursor.update(); });
+ assert_throws_js(TypeError, function() { cursor.update(); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm
index f0b8900d4b0..3dcb94e9fbb 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm
@@ -31,7 +31,7 @@
var cursor = e.target.result;
assert_true(cursor instanceof IDBCursor);
- assert_throws('DataError', function() { cursor.update(null); });
+ assert_throws_dom('DataError', function() { cursor.update(null); });
t.done();
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore9.htm
index 34aa78e6be8..c112b073fc7 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore9.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore9.htm
@@ -34,7 +34,7 @@
assert_true(cursor instanceof IDBCursor, "cursor exists");
cursor.continue();
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
cursor.update({ pKey: "primaryKey_0", value: "value_0_updated" });
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm
index 8705501e535..1d6cbe8ea45 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm
@@ -17,7 +17,7 @@ indexeddb_test(
txn.onabort = () => {
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { db.createObjectStore('s2'); },
'"running an upgrade transaction" check (InvalidStateError) ' +
'should precede "not active" check (TransactionInactiveError)');
@@ -39,7 +39,7 @@ indexeddb_test(
txn.abort();
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError',
() => { db.createObjectStore('s2', {keyPath: '-invalid-'}); },
'"not active" check (TransactionInactiveError) should precede ' +
@@ -56,7 +56,7 @@ indexeddb_test(
indexeddb_test(
(t, db) => {
db.createObjectStore('s');
- assert_throws('SyntaxError', () => {
+ assert_throws_dom('SyntaxError', () => {
db.createObjectStore('s', {keyPath: 'not a valid key path'});
}, '"Invalid key path" check (SyntaxError) should precede ' +
'"duplicate store name" check (ConstraintError)');
@@ -70,7 +70,7 @@ indexeddb_test(
indexeddb_test(
(t, db) => {
db.createObjectStore('s');
- assert_throws('ConstraintError', () => {
+ assert_throws_dom('ConstraintError', () => {
db.createObjectStore('s', {autoIncrement: true, keyPath: ''});
}, '"already exists" check (ConstraintError) should precede ' +
'"autoIncrement vs. keyPath" check (InvalidAccessError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm
index 23a3e1fd701..dc1bdf34015 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm
@@ -12,7 +12,7 @@ indexeddb_test(
db.createObjectStore('s');
txn.onabort = () => {
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { db.deleteObjectStore('s'); },
'"running an upgrade transaction" check (InvalidStateError) ' +
'should precede "not active" check (TransactionInactiveError)');
@@ -30,7 +30,7 @@ indexeddb_test(
indexeddb_test(
(t, db, txn) => {
txn.abort();
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => { db.deleteObjectStore('nope'); },
'"not active" check (TransactionInactiveError) should precede ' +
'"name in database" check (NotFoundError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html
index c0021d926a8..759685b642a 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html
@@ -13,7 +13,7 @@ indexeddb_test(
},
(t, db) => {
db.close();
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
db.transaction('no-such-store');
}, '"Connection is closed" check (InvalidStateError) should precede ' +
'"store names" check (NotFoundError)');
@@ -28,7 +28,7 @@ indexeddb_test(
},
(t, db) => {
db.close();
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
db.transaction([]);
}, '"Connection is closed" check (InvalidStateError) should precede ' +
'"stores is empty" check (InvalidAccessError)');
@@ -42,7 +42,7 @@ indexeddb_test(
db.createObjectStore('s');
},
(t, db) => {
- assert_throws('NotFoundError', () => {
+ assert_throws_dom('NotFoundError', () => {
db.transaction('no-such-store', 'versionchange');
}, '"No such store" check (NotFoundError) should precede ' +
'"invalid mode" check (TypeError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm
index ae78d46ba07..ca04f21d6d0 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm
@@ -14,7 +14,7 @@ var t = async_test(),
open_rq.onupgradeneeded = function (e) {
var db = e.target.result;
db.createObjectStore("store");
- assert_throws("ConstraintError", function(){
+ assert_throws_dom("ConstraintError", function(){
db.createObjectStore("store", {
keyPath: "key1",
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm
index ccf4a2b5fde..0eeefd613c2 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm
@@ -13,7 +13,7 @@ var t = async_test(),
open_rq.onupgradeneeded = function() {}
open_rq.onsuccess = function (e) {
var db = e.target.result
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
function() { db.createObjectStore('fails') })
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm
index 07d787bd9a1..9c7279929eb 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm
@@ -13,7 +13,7 @@ var t = async_test(),
open_rq.onupgradeneeded = function(e) {
var db = e.target.result
db.createObjectStore("dupe")
- assert_throws(
+ assert_throws_dom(
'ConstraintError',
function() { db.createObjectStore("dupe") })
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm
index c1200c5f93a..6c7a542db0d 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm
@@ -13,11 +13,11 @@ var t = async_test(),
open_rq.onupgradeneeded = function(e) {
var db = e.target.result
- assert_throws('SyntaxError', function() {
+ assert_throws_dom('SyntaxError', function() {
db.createObjectStore("invalidkeypath", { keyPath: "Invalid Keypath" })
})
- assert_throws('SyntaxError', function() {
+ assert_throws_dom('SyntaxError', function() {
db.createObjectStore("invalidkeypath", { autoIncrement: true,
keyPath: "Invalid Keypath" })
})
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm
index 4a28d4033c0..1fdad863085 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm
@@ -11,7 +11,7 @@
var t = async_test(document.title + " - " + desc);
createdb(t).onupgradeneeded = function(e) {
- assert_throws(exception, function() {
+ assert_throws_dom(exception, function() {
e.target.result.createObjectStore("store", params);
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm
index 3c1abe63232..531b3d37aaa 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm
@@ -17,7 +17,7 @@ open_rq.onupgradeneeded = function(e)
e.target.transaction.oncomplete = t.step_func(function (e)
{
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { db.deleteObjectStore("delete_outside"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm
index cae00f9d220..a8db5b49cbb 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm
@@ -13,7 +13,7 @@ var t = async_test(),
open_rq.onupgradeneeded = function(e)
{
var db = e.target.result;
- assert_throws('NotFoundError',
+ assert_throws_dom('NotFoundError',
function() { db.deleteObjectStore('whatever'); });
t.done();
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm
index cc59f9d2025..729fce6db5a 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm
@@ -29,7 +29,7 @@ open_rq.onupgradeneeded = function(e) {
assert_false(objStore2.indexNames.contains("idx"), "index exist on new objstore");
assert_equals(objStore2.keyPath, null, "keyPath");
- assert_throws("NotFoundError", function() { objStore2.index("idx"); });
+ assert_throws_dom("NotFoundError", function() { objStore2.index("idx"); });
}
open_rq.onsuccess = function(e) {
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm
index 94de8b43342..c883167a62a 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm
@@ -15,7 +15,7 @@ open_rq.onupgradeneeded = function() {};
open_rq.onsuccess = function(e) {
db = e.target.result;
- assert_throws('NotFoundError', function() { db.transaction('non-existing'); });
+ assert_throws_dom('NotFoundError', function() { db.transaction('non-existing'); });
t.done();
};
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm
index 9b353c7108f..4d2542a5eef 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm
@@ -18,7 +18,7 @@
open_rq.onsuccess = function(e) {
db.close();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { db.transaction('test'); });
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm
index ca3369f7bd0..1df37ab3739 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm
@@ -16,7 +16,7 @@
};
open_rq.onsuccess = function(e) {
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { db.transaction('test', 'whatever'); });
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm
index b6b45ab9f28..4d2bdcbe4bb 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm
@@ -15,7 +15,7 @@ var db,
open_rq.onupgradeneeded = function() {};
open_rq.onsuccess = function(e) {
db = e.target.result;
- assert_throws('InvalidAccessError', function() { db.transaction([]); });
+ assert_throws_dom('InvalidAccessError', function() { db.transaction([]); });
t.done();
};
</script>
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm
index 446bb465ce6..1932bbab49e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm
@@ -9,31 +9,31 @@
<div id=log></div>
<script>
test( function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
indexedDB.cmp();
});
}, "IDBFactory.cmp() - no argument");
test( function() {
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
indexedDB.cmp(null, null);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
indexedDB.cmp(1, null);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
indexedDB.cmp(null, 1);
});
}, "IDBFactory.cmp() - null");
test( function() {
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
indexedDB.cmp(NaN, NaN);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
indexedDB.cmp(1, NaN);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
indexedDB.cmp(NaN, 1);
});
}, "IDBFactory.cmp() - NaN");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm
index 98b1ddeef13..36a9ef814cb 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm
@@ -9,7 +9,7 @@ function should_throw(val, name) {
name = ((typeof val == "object" && val) ? "object" : format_value(val))
}
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
window.indexedDB.open('test', val);
});
}, "Calling open() with version argument " + name + " should throw TypeError.")
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAll-enforcerange.html b/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAll-enforcerange.html
index d0cbe288720..19825355004 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAll-enforcerange.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAll-enforcerange.html
@@ -17,7 +17,7 @@ indexeddb_test(
const store = tx.objectStore('store');
const index = store.index('index');
[NaN, Infinity, -Infinity, -1, -Number.MAX_SAFE_INTEGER].forEach(count => {
- assert_throws(TypeError(), () => { index.getAll(null, count); },
+ assert_throws_js(TypeError, () => { index.getAll(null, count); },
`getAll with count ${count} count should throw TypeError`);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange.html b/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange.html
index e36a69f495d..40cad527bb0 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-getAllKeys-enforcerange.html
@@ -17,7 +17,7 @@ indexeddb_test(
const store = tx.objectStore('store');
const index = store.index('index');
[NaN, Infinity, -Infinity, -1, -Number.MAX_SAFE_INTEGER].forEach(count => {
- assert_throws(TypeError(), () => { index.getAllKeys(null, count); },
+ assert_throws_js(TypeError, () => { index.getAllKeys(null, count); },
`getAllKeys with count ${count} count should throw TypeError`);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm
index e99c8ad9985..c23f96d8456 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm
@@ -12,7 +12,7 @@
createdb(async_test()).onupgradeneeded = function(e) {
var store = e.target.result.createObjectStore("store");
- assert_throws('InvalidAccessError', function() {
+ assert_throws_dom('InvalidAccessError', function() {
store.createIndex('actors', ['name'], { multiEntry: true })
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-query-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbindex-query-exception-order.html
index fb4aa9c9953..2c3e9b23c5b 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex-query-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-query-exception-order.html
@@ -29,7 +29,7 @@
store2.deleteIndex('i');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { index[method]('key'); },
'"has been deleted" check (InvalidStateError) should precede ' +
'"not active" check (TransactionInactiveError)');
@@ -52,7 +52,7 @@
const index = store.index('i');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => { index[method]({}); },
'"not active" check (TransactionInactiveError) should precede ' +
'query check (DataError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename-errors.html b/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename-errors.html
index b9cbaf2f292..b314b549579 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename-errors.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename-errors.html
@@ -19,7 +19,7 @@ promise_test(testCase => {
const store = transaction.objectStore('books');
const index = store.index('by_author');
store.deleteIndex('by_author');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.name = 'renamed_by_author');
})).then(database => database.close());
}, 'IndexedDB deleted index rename throws');
@@ -32,7 +32,7 @@ promise_test(testCase => {
const store = transaction.objectStore('books');
const index = store.index('by_author');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.name = 'renamed_by_author');
database.close();
});
@@ -46,7 +46,7 @@ promise_test(testCase => {
const store = transaction.objectStore('books');
const index = store.index('by_author');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.name = 'renamed_by_author');
database.close();
});
@@ -58,7 +58,7 @@ promise_test(testCase => {
const store = createBooksStore(testCase, database);
authorIndex = store.index('by_author');
}).then(database => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError',
() => authorIndex.name = 'renamed_by_author');
database.close();
@@ -74,7 +74,7 @@ promise_test(testCase => {
const store = transaction.objectStore('books');
const index = store.index('by_author');
- assert_throws('ConstraintError', () => index.name = 'by_title');
+ assert_throws_dom('ConstraintError', () => index.name = 'by_title');
assert_array_equals(
store.indexNames, ['by_author', 'by_title'],
'An index rename that throws an exception should not change the ' +
@@ -102,12 +102,12 @@ promise_test(testCase => {
}).then(() => migrateDatabase(testCase, 2, (database, transaction) => {
const store = transaction.objectStore('books');
const index = store.index('by_author');
-
- assert_throws(
- { name: 'Custom stringifying error' },
+ const exception = { name: 'Custom stringifying error' };
+ assert_throws_exactly(
+ exception,
() => {
index.name = {
- toString: () => { throw { name: 'Custom stringifying error'}; }
+ toString: () => { throw exception; }
};
}, 'IDBObjectStore rename should re-raise toString() exception');
assert_array_equals(
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename.html b/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename.html
index 7eb182f7ce7..da1d6c9ce9c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-rename.html
@@ -43,7 +43,7 @@ promise_test(testCase => {
store.index('renamed_by_author'), renamedAuthorIndex,
'IDBObjectStore.index should return the renamed index store when ' +
'queried using the new name immediately after the rename');
- assert_throws(
+ assert_throws_dom(
'NotFoundError', () => store.index('by_author'),
'IDBObjectStore.index should throw when queried using the ' +
"renamed index's old name immediately after the rename");
@@ -96,7 +96,7 @@ promise_test(testCase => {
store.index('renamed_by_author'), renamedAuthorIndex,
'IDBObjectStore.index should return the renamed index store when ' +
'queried using the new name immediately after the rename');
- assert_throws(
+ assert_throws_dom(
'NotFoundError', () => store.index('by_author'),
'IDBObjectStore.index should throw when queried using the ' +
"renamed index's old name immediately after the rename");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm
index addd99260d4..ce25412a25f 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm
@@ -27,7 +27,7 @@
.objectStore("store")
.index("index");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
index.count(NaN);
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm
index 65e2623cdd9..f1f3386cd22 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm
@@ -17,7 +17,7 @@
var index = db.createObjectStore("test", { keyPath: "key" })
.createIndex("index", "indexedProperty");
- assert_throws("DataError",function(){
+ assert_throws_dom("DataError",function(){
index.get(NaN);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm
index c7f6b92febe..5304b18b1a0 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm
@@ -20,7 +20,7 @@
store.add({ key: 1, indexedProperty: "data" });
store.deleteIndex("index");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.get("data");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm
index e28fed4c591..9008c50184b 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm
@@ -24,7 +24,7 @@
var index = tx.objectStore('store').index('index');
tx.abort();
- assert_throws("TransactionInactiveError", function(){
+ assert_throws_dom("TransactionInactiveError", function(){
index.get("data");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get8.htm
index ef67c6d6d22..9bfc48422fe 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get8.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get8.htm
@@ -19,7 +19,7 @@
e.target.transaction.abort();
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.get("data");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm
index 96af868beaf..5fa33087cd6 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm
@@ -17,7 +17,7 @@
var index = db.createObjectStore("test", { keyPath: "key" })
.createIndex("index", "indexedProperty");
- assert_throws("DataError",function(){
+ assert_throws_dom("DataError",function(){
index.getKey(NaN);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm
index 6e9680da9ed..18cdeb9e939 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm
@@ -20,7 +20,7 @@
store.add({ key: 1, indexedProperty: "data" });
store.deleteIndex("index");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.getKey("data");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm
index c949d39b3aa..4b005739cac 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm
@@ -24,7 +24,7 @@
var index = tx.objectStore('store').index('index');
tx.abort();
- assert_throws("TransactionInactiveError", function(){
+ assert_throws_dom("TransactionInactiveError", function(){
index.getKey("data");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey8.htm
index e46f7bc3617..316da6a7d19 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey8.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey8.htm
@@ -19,7 +19,7 @@
e.target.transaction.abort();
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.getKey("data");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm
index 0efff9325f7..17d9e684157 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm
@@ -20,7 +20,7 @@
store.add({ key: 1, indexedProperty: "data" });
store.deleteIndex("index");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.openCursor();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm
index 7ce967e0b98..13e55fff1d6 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm
@@ -24,7 +24,7 @@
var index = tx.objectStore('store').index('index');
tx.abort();
- assert_throws("TransactionInactiveError", function(){
+ assert_throws_dom("TransactionInactiveError", function(){
index.openCursor();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor3.htm
index fea479e9cc1..02beb0042ab 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor3.htm
@@ -19,7 +19,7 @@
e.target.transaction.abort();
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.openCursor();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm
index e158802911e..c88a13db076 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm
@@ -19,7 +19,7 @@
store.add({ key: 1, indexedProperty: "data" });
- assert_throws("DataError", function(){
+ assert_throws_dom("DataError", function(){
index.openKeyCursor(NaN);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm
index d8354c2fdaa..9153b11b8df 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm
@@ -20,7 +20,7 @@
store.add({ key: 1, indexedProperty: "data" });
store.deleteIndex("index");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.openKeyCursor();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm
index f009cef49ac..1c7f86f8d98 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm
@@ -24,7 +24,7 @@
var index = tx.objectStore('store').index('index');
tx.abort();
- assert_throws("TransactionInactiveError", function(){
+ assert_throws_dom("TransactionInactiveError", function(){
index.openKeyCursor();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor4.htm
index bf134dff18a..32bc088f257 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor4.htm
@@ -19,7 +19,7 @@
e.target.transaction.abort();
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
index.openKeyCursor();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange-includes.htm b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange-includes.htm
index 9a408e888a4..96769ae0a90 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange-includes.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange-includes.htm
@@ -11,17 +11,17 @@ test(function() {
assert_throws_js(TypeError, function() { range.includes(); },
'throws if key is not specified');
- assert_throws('DataError', function() { range.includes(undefined); },
+ assert_throws_dom('DataError', function() { range.includes(undefined); },
'throws if key is undefined');
- assert_throws('DataError', function() { range.includes(null); },
+ assert_throws_dom('DataError', function() { range.includes(null); },
'throws if key is null');
- assert_throws('DataError', function() { range.includes({}); },
+ assert_throws_dom('DataError', function() { range.includes({}); },
'throws if key is not valid type');
- assert_throws('DataError', function() { range.includes(NaN); },
+ assert_throws_dom('DataError', function() { range.includes(NaN); },
'throws if key is not valid number');
- assert_throws('DataError', function() { range.includes(new Date(NaN)); },
+ assert_throws_dom('DataError', function() { range.includes(new Date(NaN)); },
'throws if key is not valid date');
- assert_throws('DataError', function() {
+ assert_throws_dom('DataError', function() {
var a = []; a[0] = a; range.includes(a);
}, 'throws if key is not valid array');
}, "IDBKeyRange.includes() with invalid input");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm
index a7f4934e095..7a2db3e9c2b 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm
@@ -18,12 +18,12 @@
}, "IDBKeyRange.only() - returns an IDBKeyRange and the properties are set correctly");
test( function() {
- assert_throws('DataError', function() { IDBKeyRange.only(undefined); }, 'undefined is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.only(null); }, 'null is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.only({}); }, 'Object is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.only(Symbol()); }, 'Symbol is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.only(true); }, 'boolean is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.only(() => {}); }, 'function is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.only(undefined); }, 'undefined is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.only(null); }, 'null is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.only({}); }, 'Object is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.only(Symbol()); }, 'Symbol is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.only(true); }, 'boolean is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.only(() => {}); }, 'function is not a valid key');
}, "IDBKeyRange.only() - throws on invalid keys");
// lowerBound
@@ -42,12 +42,12 @@
}, "IDBKeyRange.lowerBound() - 'open' parameter has correct default set");
test( function() {
- assert_throws('DataError', function() { IDBKeyRange.lowerBound(undefined); }, 'undefined is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.lowerBound(null); }, 'null is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.lowerBound({}); }, 'Object is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.lowerBound(Symbol()); }, 'Symbol is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.lowerBound(true); }, 'boolean is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.lowerBound(() => {}); }, 'function is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(undefined); }, 'undefined is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(null); }, 'null is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound({}); }, 'Object is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(Symbol()); }, 'Symbol is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(true); }, 'boolean is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(() => {}); }, 'function is not a valid key');
}, "IDBKeyRange.lowerBound() - throws on invalid keys");
// upperBound
@@ -66,12 +66,12 @@
}, "IDBKeyRange.upperBound() - 'open' parameter has correct default set");
test( function() {
- assert_throws('DataError', function() { IDBKeyRange.upperBound(undefined); }, 'undefined is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.upperBound(null); }, 'null is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.upperBound({}); }, 'Object is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.upperBound(Symbol()); }, 'Symbol is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.upperBound(true); }, 'boolean is not a valid key');
- assert_throws('DataError', function() { IDBKeyRange.upperBound(() => {}); }, 'function is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(undefined); }, 'undefined is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(null); }, 'null is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.upperBound({}); }, 'Object is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(Symbol()); }, 'Symbol is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(true); }, 'boolean is not a valid key');
+ assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(() => {}); }, 'function is not a valid key');
}, "IDBKeyRange.upperBound() - throws on invalid keys");
// bound
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm
index 0449ca80732..931ed518b9e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm
@@ -16,24 +16,24 @@
// TypeError: bound requires more than 0 arguments
test( function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
IDBKeyRange.bound();
});
}, "IDBKeyRange.bound() - bound requires more than 0 arguments.");
// Null parameters
test( function() {
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound(null, null);
});
}, "IDBKeyRange.bound(null, null) - null parameters are incorrect.");
// // Null parameter
test( function() {
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound(1, null);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound(null, 1);
});
}, "IDBKeyRange.bound(1, null / null, 1) - null parameter is incorrect.");
@@ -42,23 +42,23 @@
test( function() {
var lowerBad = Math.floor(Math.random()*31) + 5;
var upper = lowerBad - 1;
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound(lowerBad, upper);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound('b', 'a');
});
}, "IDBKeyRange.bound(lower, upper / lower > upper) - 'lower' is greater than 'upper'."
);
test( function() {
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound('a', 1);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound(new Date(), 1);
});
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound([1, 2], 1);
});
}, "IDBKeyRange.bound(DOMString/Date/Array, 1) - A DOMString, Date and Array are greater than a float.");
@@ -67,17 +67,17 @@
// ReferenceError: the variable is not defined
test( function() {
var goodVariable = 1;
- assert_throws(new ReferenceError(), function() {
+ assert_throws_js(ReferenceError, function() {
IDBKeyRange.bound(noExistingVariable, 1);
});
- assert_throws(new ReferenceError(), function() {
+ assert_throws_js(ReferenceError, function() {
IDBKeyRange.bound(goodVariable, noExistingVariable);
});
}, "IDBKeyRange.bound(noExistingVariable, 1 / goodVariable, noExistingVariable) - noExistingVariable is not defined.");
// Valid type key error
test( function() {
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
IDBKeyRange.bound(true, 1);
});
}, "IDBKeyRange.bound(true, 1) - boolean is not a valid key type.");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order.html
index 6c76b6220cb..71ea2a07f4e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-add-put-exception-order.html
@@ -17,7 +17,7 @@
db.deleteObjectStore('s2');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { store2[method]('key', 'value'); },
'"has been deleted" check (InvalidStateError) should precede ' +
'"not active" check (TransactionInactiveError)');
@@ -38,7 +38,7 @@
const store = tx.objectStore('s');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => { store[method]('key', 'value'); },
'"not active" check (TransactionInactiveError) should precede ' +
'"read only" check (ReadOnlyError)');
@@ -58,7 +58,7 @@
const tx = db.transaction('s', 'readonly');
const store = tx.objectStore('s');
- assert_throws(
+ assert_throws_dom(
'ReadOnlyError', () => { store[method]({}, 'value'); },
'"read only" check (ReadOnlyError) should precede ' +
'key/data check (DataError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order.html
index e2a77073fcd..b5678d98afd 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-clear-exception-order.html
@@ -15,7 +15,7 @@ indexeddb_test(
db.deleteObjectStore('s2');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { store2.clear(); },
'"has been deleted" check (InvalidStateError) should precede ' +
'"not active" check (TransactionInactiveError)');
@@ -36,7 +36,7 @@ indexeddb_test(
const store = tx.objectStore('s');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => { store.clear(); },
'"not active" check (TransactionInactiveError) should precede ' +
'"read only" check (ReadOnlyError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order.html
index 9a383e39140..671dfa4b35e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order.html
@@ -15,7 +15,7 @@ indexeddb_test(
db.deleteObjectStore('s2');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { store2.delete('key'); },
'"has been deleted" check (InvalidStateError) should precede ' +
'"not active" check (TransactionInactiveError)');
@@ -36,7 +36,7 @@ indexeddb_test(
const store = tx.objectStore('s');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => { store.delete('key'); },
'"not active" check (TransactionInactiveError) should precede ' +
'"read only" check (ReadOnlyError)');
@@ -55,7 +55,7 @@ indexeddb_test(
const tx = db.transaction('s', 'readonly');
const store = tx.objectStore('s');
- assert_throws(
+ assert_throws_dom(
'ReadOnlyError', () => { store.delete({}); },
'"read only" check (ReadOnlyError) should precede ' +
'key/data check (DataError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order.html
index 5b069c6474b..389e7a32393 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-deleteIndex-exception-order.html
@@ -17,7 +17,7 @@ indexeddb_test(
const store = tx.objectStore('s');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { store.deleteIndex('i'); },
'"running an upgrade transaction" check (InvalidStateError) ' +
'should precede "not active" check (TransactionInactiveError)');
@@ -36,7 +36,7 @@ indexeddb_test(
db.deleteObjectStore('s');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { store.deleteIndex('i'); },
'"deleted" check (InvalidStateError) ' +
'should precede "not active" check (TransactionInactiveError)');
@@ -53,7 +53,7 @@ indexeddb_test(
const store = db.createObjectStore('s');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => { store.deleteIndex('nope'); },
'"not active" check (TransactionInactiveError) should precede ' +
'"name in store" check (NotFoundError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html
index 14e8b27e901..80c653b3864 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAll-enforcerange.html
@@ -15,7 +15,7 @@ indexeddb_test(
const tx = db.transaction('store');
const store = tx.objectStore('store');
[NaN, Infinity, -Infinity, -1, -Number.MAX_SAFE_INTEGER].forEach(count => {
- assert_throws(TypeError(), () => { store.getAll(null, count); },
+ assert_throws_js(TypeError, () => { store.getAll(null, count); },
`getAll with count ${count} count should throw TypeError`);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html
index 15b45ac97d2..3653d1d5a1f 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html
@@ -15,7 +15,7 @@ indexeddb_test(
const tx = db.transaction('store');
const store = tx.objectStore('store');
[NaN, Infinity, -Infinity, -1, -Number.MAX_SAFE_INTEGER].forEach(count => {
- assert_throws(TypeError(), () => { store.getAllKeys(null, count); },
+ assert_throws_js(TypeError, () => { store.getAllKeys(null, count); },
`getAllKeys with count ${count} count should throw TypeError`);
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-index-finished.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-index-finished.html
index 75677cf39dc..cc8dceaf42e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-index-finished.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-index-finished.html
@@ -16,7 +16,7 @@ indexeddb_test(
const tx = db.transaction('store');
const store = tx.objectStore('store');
tx.abort();
- assert_throws('InvalidStateError', () => store.index('index'),
+ assert_throws_dom('InvalidStateError', () => store.index('index'),
'index() should throw if transaction is finished');
t.done();
},
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html
index b4d134fea85..24d10555b75 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html
@@ -28,7 +28,7 @@
db.deleteObjectStore('s2');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => { store2[method]('key'); },
'"has been deleted" check (InvalidStateError) should precede ' +
'"not active" check (TransactionInactiveError)');
@@ -50,7 +50,7 @@
const store = tx.objectStore('s');
setTimeout(t.step_func(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => { store[method]({}); },
'"not active" check (TransactionInactiveError) should precede ' +
'query check (DataError)');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-errors.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-errors.html
index 9c791f9d9b2..3a90955ae76 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-errors.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-errors.html
@@ -18,7 +18,7 @@ promise_test(testCase => {
}).then(() => migrateDatabase(testCase, 2, (database, transaction) => {
const store = transaction.objectStore('books');
database.deleteObjectStore('books');
- assert_throws('InvalidStateError', () => store.name = 'renamed_books');
+ assert_throws_dom('InvalidStateError', () => store.name = 'renamed_books');
})).then(database => {
database.close();
});
@@ -30,7 +30,7 @@ promise_test(testCase => {
}).then(database => {
const transaction = database.transaction('books', 'readonly');
const store = transaction.objectStore('books');
- assert_throws('InvalidStateError', () => store.name = 'renamed_books');
+ assert_throws_dom('InvalidStateError', () => store.name = 'renamed_books');
database.close();
});
}, 'IndexedDB object store rename throws in a readonly transaction');
@@ -42,7 +42,7 @@ promise_test(testCase => {
const transaction = database.transaction('books', 'readwrite');
const store = transaction.objectStore('books');
- assert_throws('InvalidStateError', () => store.name = 'renamed_books');
+ assert_throws_dom('InvalidStateError', () => store.name = 'renamed_books');
database.close();
});
}, 'IndexedDB object store rename throws in a readwrite transaction');
@@ -52,7 +52,7 @@ promise_test(testCase => {
return createDatabase(testCase, (database, transaction) => {
bookStore = createBooksStore(testCase, database);
}).then(database => {
- assert_throws('TransactionInactiveError',
+ assert_throws_dom('TransactionInactiveError',
() => { bookStore.name = 'renamed_books'; });
database.close();
});
@@ -66,7 +66,7 @@ promise_test(testCase => {
database.close();
}).then(() => migrateDatabase(testCase, 2, (database, transaction) => {
const store = transaction.objectStore('books');
- assert_throws('ConstraintError', () => store.name = 'not_books');
+ assert_throws_dom('ConstraintError', () => store.name = 'not_books');
assert_array_equals(
database.objectStoreNames, ['books', 'not_books'],
'A store rename that throws an exception should not change the ' +
@@ -92,11 +92,12 @@ promise_test(testCase => {
database.close();
}).then(() => migrateDatabase(testCase, 2, (database, transaction) => {
const store = transaction.objectStore('books');
- assert_throws(
- { name: 'Custom stringifying error' },
+ var exception = { name: 'Custom stringifying error' }
+ assert_throws_exactly(
+ exception,
() => {
store.name = {
- toString: () => { throw { name: 'Custom stringifying error'}; }
+ toString: () => { throw exception; }
};
}, 'IDBObjectStore rename should re-raise toString() exception');
assert_array_equals(
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-store.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-store.html
index d21cb921483..7556ec192e8 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-store.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore-rename-store.html
@@ -57,7 +57,7 @@ promise_test(testCase => {
'IDBTransaction.objectStore should return the renamed object ' +
'store when queried using the new name immediately after the ' +
'rename');
- assert_throws(
+ assert_throws_dom(
'NotFoundError', () => transaction.objectStore('books'),
'IDBTransaction.objectStore should throw when queried using the ' +
"renamed object store's old name immediately after the rename");
@@ -114,7 +114,7 @@ promise_test(testCase => {
'IDBTransaction.objectStore should return the renamed object ' +
'store when queried using the new name immediately after the ' +
'rename');
- assert_throws(
+ assert_throws_dom(
'NotFoundError', () => transaction.objectStore('books'),
'IDBTransaction.objectStore should throw when queried using the ' +
"renamed object store's old name immediately after the rename");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm
index f2bf447500d..59594f82887 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.add(record); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm
index 99ff14c31b3..ba2450fb250 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.add(record); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm
index d679af08b41..6ffa9db79a0 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.add(record); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm
index 943a6cf9baf..fb4fc2dbab6 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.add(record, { value: 1 }); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm
index 268ed72e935..ff748389244 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm
@@ -21,7 +21,7 @@
var txn = db.transaction("store");
var ostore = txn.objectStore("store");
t.step(function(){
- assert_throws("ReadOnlyError", function(){
+ assert_throws_dom("ReadOnlyError", function(){
ostore.add({ pKey: "primaryKey_0"});
});
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm
index 391b9445802..f20d7962705 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm
@@ -17,7 +17,7 @@
db = event.target.result;
ostore = db.createObjectStore("store", {keyPath:"pKey"});
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
ostore.add({ pKey: "primaryKey_0"});
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm
index 6e027a11dc4..5babf368cbc 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm
@@ -16,7 +16,7 @@
db = e.target.result,
objStore = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.add(record, 1); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm
index fc0fa4d8dff..41e6566b6c2 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm
@@ -26,7 +26,7 @@
var txn = db.transaction("store");
var ostore = txn.objectStore("store");
t.step(function(){
- assert_throws("ReadOnlyError", function(){
+ assert_throws_dom("ReadOnlyError", function(){
ostore.clear();
});
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm
index 4e08f673871..9812c3d33b1 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm
@@ -17,7 +17,7 @@
db = event.target.result;
ostore = db.createObjectStore("store", {keyPath:"pKey"});
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
ostore.clear();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm
index 50dd6fe5489..8c9170e7e3b 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm
@@ -17,7 +17,7 @@
db = event.target.result;
ostore = db.createObjectStore("store", {keyPath:"pKey"});
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
ostore.count();
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm
index 757296253d4..bb91b7c17bc 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm
@@ -15,7 +15,7 @@ open_rq.onupgradeneeded = function (e) {
var db = e.target.result;
var ostore = db.createObjectStore("store");
ostore.createIndex("a", "a");
- assert_throws("ConstraintError", function(){
+ assert_throws_dom("ConstraintError", function(){
ostore.createIndex("a", "a");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm
index 7da1169e4c2..47f06c3e1e4 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm
@@ -14,7 +14,7 @@ var t = async_test(),
open_rq.onupgradeneeded = function (e) {
var db = e.target.result;
var ostore = db.createObjectStore("store");
- assert_throws("SyntaxError", function(){
+ assert_throws_dom("SyntaxError", function(){
ostore.createIndex("ab", ".");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm
index 18296b4adbe..68214e54e94 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm
@@ -21,7 +21,7 @@
open_rq.onsuccess = function (event) {
t.step(function(){
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
ostore.createIndex("index", "indexedProperty");
});
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm
index ac32df66290..839abdb009e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm
@@ -21,7 +21,7 @@
var txn = db.transaction("store", "readwrite");
var ostore = txn.objectStore("store");
t.step(function(){
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
ostore.createIndex("index", "indexedProperty");
});
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex14-exception_order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex14-exception_order.htm
index a0ec288cb38..c0e6c6f8387 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex14-exception_order.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex14-exception_order.htm
@@ -15,7 +15,7 @@ indexeddb_test(
var txn = db.transaction("s");
var store = txn.objectStore("s");
txn.oncomplete = function() {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
store.createIndex("index", "foo");
}, "Mode check should precede state check of the transaction");
t.done();
@@ -30,7 +30,7 @@ indexeddb_test(
gDeletedObjectStore = db.createObjectStore("s");
db.deleteObjectStore("s");
txn.oncomplete = function() {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
gDeletedObjectStore.createIndex("index", "foo");
}, "Deletion check should precede transaction-state check");
t.done();
@@ -45,7 +45,7 @@ indexeddb_test(
var store = db.createObjectStore("s");
store.createIndex("index", "foo");
txn.oncomplete = function() {
- assert_throws("TransactionInactiveError", function() {
+ assert_throws_dom("TransactionInactiveError", function() {
store.createIndex("index", "foo");
}, "Transaction-state check should precede index name check");
t.done();
@@ -59,10 +59,10 @@ indexeddb_test(
function(t, db) {
var store = db.createObjectStore("s");
store.createIndex("index", "foo");
- assert_throws("ConstraintError", function() {
+ assert_throws_dom("ConstraintError", function() {
store.createIndex("index", "invalid key path");
}, "Index name check should precede syntax check of the key path");
- assert_throws("ConstraintError", function() {
+ assert_throws_dom("ConstraintError", function() {
store.createIndex("index",
["invalid key path 1", "invalid key path 2"]);
}, "Index name check should precede syntax check of the key path");
@@ -75,7 +75,7 @@ indexeddb_test(
indexeddb_test(
function(t, db) {
var store = db.createObjectStore("s");
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
store.createIndex("index",
["invalid key path 1", "invalid key path 2"],
{ multiEntry: true });
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm
index 01d54dee93b..4481387ccfd 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm
@@ -26,7 +26,7 @@
var txn = db.transaction("store");
var ostore = txn.objectStore("store");
t.step(function(){
- assert_throws("ReadOnlyError", function(){
+ assert_throws_dom("ReadOnlyError", function(){
ostore.delete("primaryKey_0");
});
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm
index 98831c5da8a..aa7eb1ac6a2 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm
@@ -19,7 +19,7 @@
db = event.target.result;
ostore = db.createObjectStore("store", {keyPath:"pKey"});
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
ostore.delete("primaryKey_0");
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm
index ebebbb7db48..f4fccd61309 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm
@@ -32,7 +32,7 @@
objStore = db.transaction("test")
.objectStore("test");
- assert_throws('NotFoundError',
+ assert_throws_dom('NotFoundError',
function() { index = objStore.index("index") });
assert_equals(index, undefined);
db.close();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm
index 4a5c0cca2b7..f5a383e75cb 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm
@@ -29,16 +29,16 @@
assert_equals(db.objectStoreNames.length, 0, "objectStoreNames.length after delete");
const exc = "InvalidStateError"
- assert_throws(exc, function() { objStore.add(2); });
- assert_throws(exc, function() { objStore.put(3); });
- assert_throws(exc, function() { objStore.get(1); });
- assert_throws(exc, function() { objStore.clear(); });
- assert_throws(exc, function() { objStore.count(); });
- assert_throws(exc, function() { objStore.delete(1); });
- assert_throws(exc, function() { objStore.openCursor(); });
- assert_throws(exc, function() { objStore.index("idx"); });
- assert_throws(exc, function() { objStore.deleteIndex("idx"); });
- assert_throws(exc, function() { objStore.createIndex("idx2", "a"); });
+ assert_throws_dom(exc, function() { objStore.add(2); });
+ assert_throws_dom(exc, function() { objStore.put(3); });
+ assert_throws_dom(exc, function() { objStore.get(1); });
+ assert_throws_dom(exc, function() { objStore.clear(); });
+ assert_throws_dom(exc, function() { objStore.count(); });
+ assert_throws_dom(exc, function() { objStore.delete(1); });
+ assert_throws_dom(exc, function() { objStore.openCursor(); });
+ assert_throws_dom(exc, function() { objStore.index("idx"); });
+ assert_throws_dom(exc, function() { objStore.deleteIndex("idx"); });
+ assert_throws_dom(exc, function() { objStore.createIndex("idx2", "a"); });
}
open_rq.onsuccess = function() {
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm
index 33381a684b6..c996ec4946c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm
@@ -20,7 +20,7 @@
var store = db.transaction("store")
.objectStore("store");
store.transaction.abort();
- assert_throws("TransactionInactiveError", function () {
+ assert_throws_dom("TransactionInactiveError", function () {
store.get(1);
}, "throw TransactionInactiveError on aborted transaction.");
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm
index 570441b6634..dbbfa0d46f5 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm
@@ -19,7 +19,7 @@
open_rq.onsuccess = function(e) {
var store = db.transaction("store")
.objectStore("store")
- assert_throws("DataError", function () {
+ assert_throws_dom("DataError", function () {
store.get(null)
}, "throw DataError when using invalid key.");
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_getKey.html b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_getKey.html
index ddb78b11213..9e3662502de 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_getKey.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_getKey.html
@@ -34,9 +34,9 @@ function getkey_test(func, name) {
getkey_test(function(t, db) {
var tx = db.transaction('basic');
var store = tx.objectStore('basic');
- assert_throws(TypeError(), function() { store.getKey(); });
- assert_throws({name: 'DataError'}, function() { store.getKey(null); });
- assert_throws({name: 'DataError'}, function() { store.getKey({}); });
+ assert_throws_js(TypeError, function() { store.getKey(); });
+ assert_throws_dom('DataError', function() { store.getKey(null); });
+ assert_throws_dom('DataError', function() { store.getKey({}); });
t.done();
}, 'IDBObjectStore.getKey() - invalid parameters');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm
index a142a3a4559..5911686d352 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm
@@ -17,13 +17,13 @@ indexeddb_test(
function(t, db, tx) {
var idx = db.transaction("test").objectStore("test").index("index");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { idx.openCursor({ lower: "a" }); });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { idx.openCursor({ lower: "a", lowerOpen: false }); });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { idx.openCursor({ lower: "a", lowerOpen: false, upper: null, upperOpen: false }); });
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm
index 345845965fe..0880a23c37d 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm
@@ -112,19 +112,19 @@ store_test(function(t, db, tx, store) {
}, "IDBObjectStore.openKeyCursor() - reverse iteration with range");
store_test(function(t, db, tx, store) {
- assert_throws("DataError", function() { store.openKeyCursor(NaN); },
+ assert_throws_dom("DataError", function() { store.openKeyCursor(NaN); },
"openKeyCursor should throw on invalid number key");
- assert_throws("DataError", function() { store.openKeyCursor(new Date(NaN)); },
+ assert_throws_dom("DataError", function() { store.openKeyCursor(new Date(NaN)); },
"openKeyCursor should throw on invalid date key");
- assert_throws("DataError", function() {
+ assert_throws_dom("DataError", function() {
var cycle = [];
cycle.push(cycle);
store.openKeyCursor(cycle);
}, "openKeyCursor should throw on invalid array key");
- assert_throws("DataError", function() { store.openKeyCursor({}); },
+ assert_throws_dom("DataError", function() { store.openKeyCursor({}); },
"openKeyCursor should throw on invalid key type");
setTimeout(t.step_func(function() {
- assert_throws("TransactionInactiveError", function() { store.openKeyCursor(); },
+ assert_throws_dom("TransactionInactiveError", function() { store.openKeyCursor(); },
"openKeyCursor should throw if transaction is inactive");
t.done();
}), 0);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm
index d0de11c3e30..cc8770ef9b5 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.put(record); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm
index 9a13757ef20..d9802aa0174 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.put(record); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm
index 24970dff080..5d4f544cdbd 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.put(record); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm
index 870c8e4a718..ecd0515b871 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm
@@ -18,7 +18,7 @@
var rq,
objStore = db.createObjectStore("store");
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.put(record, { value: 1 }); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm
index cf2c35435cf..5d1b8d40916 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm
@@ -21,7 +21,7 @@
var txn = db.transaction("store");
var ostore = txn.objectStore("store");
t.step(function(){
- assert_throws("ReadOnlyError", function(){
+ assert_throws_dom("ReadOnlyError", function(){
ostore.put({pKey: "primaryKey_0"});
});
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm
index 4818dd25dd9..fe187e5508f 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm
@@ -17,7 +17,7 @@
db = event.target.result;
ostore = db.createObjectStore("store", {keyPath:"pKey"});
db.deleteObjectStore("store");
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
ostore.put({pKey: "primaryKey_0"});
});
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm
index 6e50a0b296d..0fa6dc75797 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm
@@ -16,7 +16,7 @@
db = e.target.result,
objStore = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataError",
+ assert_throws_dom("DataError",
function() { rq = objStore.put(record, 1); });
assert_equals(rq, undefined);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbrequest_error.html b/tests/wpt/web-platform-tests/IndexedDB/idbrequest_error.html
index ae16b695a3f..651a844d29d 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbrequest_error.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbrequest_error.html
@@ -17,7 +17,7 @@ async_test(t => {
var request = db.transaction('store').objectStore('store').get(0);
assert_equals(request.readyState, 'pending');
- assert_throws('InvalidStateError', () => request.error,
+ assert_throws_dom('InvalidStateError', () => request.error,
'IDBRequest.error should throw if request is pending');
t.done();
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbrequest_result.html b/tests/wpt/web-platform-tests/IndexedDB/idbrequest_result.html
index 29786290163..f77aba7dfe4 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbrequest_result.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbrequest_result.html
@@ -17,7 +17,7 @@ async_test(t => {
var request = db.transaction('store').objectStore('store').get(0);
assert_equals(request.readyState, 'pending');
- assert_throws('InvalidStateError', () => request.result,
+ assert_throws_dom('InvalidStateError', () => request.result,
'IDBRequest.result should throw if request is pending');
t.done();
});
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html
index 6bae783ecd7..4b7659ff0bf 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-exception-order.html
@@ -14,7 +14,7 @@ indexeddb_test(
(t, db) => {
const tx = db.transaction('s');
tx.oncomplete = t.step_func(() => {
- assert_throws('InvalidStateError', () => { tx.objectStore('nope'); },
+ assert_throws_dom('InvalidStateError', () => { tx.objectStore('nope'); },
'"finished" check (InvalidStateError) should precede ' +
'"name in scope" check (NotFoundError)');
t.done();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html
index 5e363ea3bb0..e1a8500b17a 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html
@@ -14,7 +14,7 @@ indexeddb_test(
(t, db) => {
const tx = db.transaction('store');
tx.abort();
- assert_throws('InvalidStateError', () => tx.objectStore('store'),
+ assert_throws_dom('InvalidStateError', () => tx.objectStore('store'),
'objectStore() should throw if transaction is finished');
t.done();
},
diff --git a/tests/wpt/web-platform-tests/IndexedDB/key-conversion-exceptions.htm b/tests/wpt/web-platform-tests/IndexedDB/key-conversion-exceptions.htm
index 4dd5d9005b6..36d67d8f07d 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/key-conversion-exceptions.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/key-conversion-exceptions.htm
@@ -16,12 +16,12 @@ function indexeddb_upgrade_only_test(upgrade_callback, description) {
function throwing_key(name) {
var throws = [];
throws.length = 1;
+ const err = new Error('throwing from getter');
+ err.name = name;
Object.defineProperty(throws, '0', {get: function() {
- var err = new Error('throwing from getter');
- err.name = name;
throw err;
}, enumerable: true});
- return throws;
+ return [throws, err];
}
var valid_key = [];
@@ -35,27 +35,30 @@ var invalid_key = {};
function check_method(receiver, method, args) {
args = args || 1;
if (args < 2) {
- assert_throws({name:'getter'}, () => {
- receiver[method](throwing_key('getter'));
+ const [key, err] = throwing_key('getter');
+ assert_throws_exactly(err, () => {
+ receiver[method](key);
}, 'key conversion with throwing getter should rethrow');
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
receiver[method](invalid_key);
}, 'key conversion with invalid key should throw DataError');
} else {
- assert_throws({name:'getter 1'}, () => {
- receiver[method](throwing_key('getter 1'), throwing_key('getter 2'));
+ const [key1, err1] = throwing_key('getter 1');
+ const [key2, err2] = throwing_key('getter 2');
+ assert_throws_exactly(err1, () => {
+ receiver[method](key1, key2);
}, 'first key conversion with throwing getter should rethrow');
- assert_throws('DataError', () => {
- receiver[method](invalid_key, throwing_key('getter 2'));
+ assert_throws_dom('DataError', () => {
+ receiver[method](invalid_key, key2);
}, 'first key conversion with invalid key should throw DataError');
- assert_throws({name:'getter 2'}, () => {
- receiver[method](valid_key, throwing_key('getter 2'));
+ assert_throws_exactly(err2, () => {
+ receiver[method](valid_key, key2);
}, 'second key conversion with throwing getter should rethrow');
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
receiver[method](valid_key, invalid_key);
}, 'second key conversion with invalid key should throw DataError');
}
@@ -107,8 +110,9 @@ indexeddb_upgrade_only_test((t, db) => {
assert_not_equals(cursor, null, 'cursor should find a value');
var value = {};
- value.prop = throwing_key('getter');
- assert_throws({name: 'getter'}, () => {
+ var err;
+ [value.prop, err] = throwing_key('getter');
+ assert_throws_exactly(err, () => {
cursor.update(value);
}, 'throwing getter should rethrow during clone');
@@ -118,7 +122,7 @@ indexeddb_upgrade_only_test((t, db) => {
// are used for key path evaluation.
value.prop = invalid_key;
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
cursor.update(value);
}, 'key conversion with invalid key should throw DataError');
});
@@ -140,18 +144,18 @@ test(t => {
indexeddb_upgrade_only_test((t, db) => {
var out_of_line = db.createObjectStore('out-of-line keys');
var in_line = db.createObjectStore('in-line keys', {keyPath: 'prop'});
-
- assert_throws({name:'getter'}, () => {
- out_of_line[method]('value', throwing_key('getter'));
+ var [key, err] = throwing_key('getter');
+ assert_throws_exactly(err, () => {
+ out_of_line[method]('value', key);
}, 'key conversion with throwing getter should rethrow');
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
out_of_line[method]('value', invalid_key);
}, 'key conversion with invalid key should throw DataError');
var value = {};
- value.prop = throwing_key('getter');
- assert_throws({name:'getter'}, () => {
+ [value.prop, err] = throwing_key('getter');
+ assert_throws_exactly(err, () => {
in_line[method](value);
}, 'throwing getter should rethrow during clone');
@@ -161,7 +165,7 @@ test(t => {
// are used for key path evaluation.
value.prop = invalid_key;
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
in_line[method](value);
}, 'key conversion with invalid key should throw DataError');
}, `IDBObjectStore ${method}() method with throwing/invalid keys`);
diff --git a/tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm
index 98c9140df9f..c3c61ead23c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm
@@ -32,13 +32,13 @@
// set the current test, and run it
db.setTest(t).onupgradeneeded = function(e) {
objStore = objStore || e.target.result.createObjectStore("store");
- assert_throws('DataError', function() {
+ assert_throws_dom('DataError', function() {
objStore.add("value", key);
});
if (is_cloneable(key)) {
objStore2 = objStore2 || e.target.result.createObjectStore("store2", { keyPath: ["x", "keypath"] });
- assert_throws('DataError', function() {
+ assert_throws_dom('DataError', function() {
objStore2.add({ x: "value", keypath: key });
});
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/keygenerator-inject.html b/tests/wpt/web-platform-tests/IndexedDB/keygenerator-inject.html
index fcdd7d6f4a6..301e9230437 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/keygenerator-inject.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/keygenerator-inject.html
@@ -88,7 +88,7 @@ indexeddb_test(
const tx = db.transaction('store', 'readwrite');
const store = tx.objectStore('store');
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
store.put(123);
}, 'Key path should be checked against value');
@@ -104,11 +104,11 @@ indexeddb_test(
const tx = db.transaction('store', 'readwrite');
const store = tx.objectStore('store');
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
store.put({a: 123});
}, 'Key path should be checked against value');
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
store.put({a: {b: 123} });
}, 'Key path should be checked against value');
diff --git a/tests/wpt/web-platform-tests/IndexedDB/keypath-exceptions.htm b/tests/wpt/web-platform-tests/IndexedDB/keypath-exceptions.htm
index 6d7937c522f..62fce352baf 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/keypath-exceptions.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/keypath-exceptions.htm
@@ -13,7 +13,7 @@ indexeddb_test(
},
(t, db) => {
const tx = db.transaction('store', 'readwrite');
- assert_throws({name: 'DataError'}, () => {
+ assert_throws_dom('DataError', () => {
tx.objectStore('store').put({a: {b: "foo"}});
}, 'Put should throw if key can not be inserted at key path location.');
t.done();
@@ -21,18 +21,17 @@ indexeddb_test(
'The last element of keypath is validated'
);
-function throws(name) {
- return () => {
- const err = Error();
- err.name = name;
- throw err;
- };
+const err = Error();
+err.name = 'getter';
+
+function throwingGetter() {
+ throw err;
}
indexeddb_test(
function(t, db) {
const o = {};
- Object.defineProperty(o, 'throws', {get: throws('getter'),
+ Object.defineProperty(o, 'throws', {get: throwingGetter,
enumerable: false, configurable: true});
// Value should be cloned before key path is evaluated,
@@ -40,7 +39,7 @@ indexeddb_test(
// will have no such property, so key path evaluation
// will fail.
const s1 = db.createObjectStore('s1', {keyPath: 'throws'});
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
s1.put(o);
}, 'Key path failing to resolve should throw');
@@ -49,7 +48,7 @@ indexeddb_test(
// will have no such property, so key path evaluation
// will fail.
const s2 = db.createObjectStore('s2', {keyPath: 'throws.x'});
- assert_throws('DataError', () => {
+ assert_throws_dom('DataError', () => {
s2.put(o);
}, 'Key path failing to resolve should throw');
@@ -80,20 +79,20 @@ indexeddb_test(
indexeddb_test(
function(t, db) {
const o = {};
- Object.defineProperty(o, 'throws', {get: throws('getter'),
+ Object.defineProperty(o, 'throws', {get: throwingGetter,
enumerable: true, configurable: true});
// Value should be cloned before key path is evaluated,
// and enumerable getter will rethrow.
const s1 = db.createObjectStore('s1', {keyPath: 'throws'});
- assert_throws({name: 'getter'}, () => {
+ assert_throws_exactly(err, () => {
s1.put(o);
}, 'Key path resolving to throwing getter rethrows');
// Value should be cloned before key path is evaluated,
// and enumerable getter will rethrow.
const s2 = db.createObjectStore('s2', {keyPath: 'throws.x'});
- assert_throws({name: 'getter'}, () => {
+ assert_throws_exactly(err, () => {
s2.put(o);
}, 'Key path resolving past throwing getter rethrows');
@@ -101,7 +100,7 @@ indexeddb_test(
// and enumerable getter will rethrow.
const s3 = db.createObjectStore('s3',
{keyPath: 'throws', autoIncrement: true});
- assert_throws({name: 'getter'}, () => {
+ assert_throws_exactly(err, () => {
s3.put(o);
}, 'Key injectability test at throwing getter should rethrow');
@@ -109,7 +108,7 @@ indexeddb_test(
// and enumerable getter will rethrow.
const s4 = db.createObjectStore('s4',
{keyPath: 'throws.x', autoIncrement: true});
- assert_throws({name: 'getter'}, () => {
+ assert_throws_exactly(err, () => {
s4.put(o);
}, 'Key injectability test past throwing getter should rethrow');
},
@@ -127,7 +126,7 @@ indexeddb_test(
function with_proto_getter(f) {
return function() {
Object.defineProperty(Object.prototype, 'throws', {
- get: throws('getter'),
+ get: throwingGetter,
enumerable: false, configurable: true
});
try {
@@ -143,7 +142,7 @@ indexeddb_test(
// will have no own property, so key path evaluation will
// fail and DataError should be thrown.
const s1 = db.createObjectStore('s1', {keyPath: 'throws'});
- assert_throws('DataError', with_proto_getter(function() {
+ assert_throws_dom('DataError', with_proto_getter(function() {
s1.put({});
}), 'Key path resolving to no own property throws DataError');
@@ -152,7 +151,7 @@ indexeddb_test(
// will have no own property, so key path evaluation will
// fail and DataError should be thrown.
const s2 = db.createObjectStore('s2', {keyPath: 'throws.x'});
- assert_throws('DataError', with_proto_getter(function() {
+ assert_throws_dom('DataError', with_proto_getter(function() {
s2.put({});
}), 'Key path resolving past no own property throws DataError');
@@ -188,7 +187,7 @@ indexeddb_test(
function with_proto_getter(f) {
return () => {
Object.defineProperty(Object.prototype, 'throws', {
- get: throws('getter'),
+ get: throwingGetter,
enumerable: true, configurable: true
});
try {
@@ -203,7 +202,7 @@ indexeddb_test(
// The clone will have no own property, so key path
// evaluation will fail and DataError should be thrown.
const s1 = db.createObjectStore('s1', {keyPath: 'throws'});
- assert_throws('DataError', with_proto_getter(function() {
+ assert_throws_dom('DataError', with_proto_getter(function() {
s1.put({});
}), 'Key path resolving to no own property throws DataError');
@@ -211,7 +210,7 @@ indexeddb_test(
// The clone will have no own property, so key path
// evaluation will fail and DataError should be thrown.
const s2 = db.createObjectStore('s2', {keyPath: 'throws.x'});
- assert_throws('DataError', with_proto_getter(function() {
+ assert_throws_dom('DataError', with_proto_getter(function() {
s2.put({});
}), 'Key path resolving past throwing getter rethrows');
@@ -248,21 +247,31 @@ indexeddb_test(
const array = [];
array[99] = 1;
+ // Implemented as function wrapper to clean up
+ // immediately after use, otherwise it may
+ // interfere with the test harness.
let getter_called = 0;
- const prop = '50';
- Object.defineProperty(Object.prototype, prop, {
- enumerable: true, configurable: true,
- get: () => {
- ++getter_called;
- return 'foo';
- },
- });
+ function with_proto_getter(f) {
+ const prop = '50';
+ Object.defineProperty(Object.prototype, prop, {
+ enumerable: true, configurable: true,
+ get: () => {
+ ++getter_called;
+ return 'foo';
+ }
+ });
+ try {
+ return f();
+ } finally {
+ delete Object.prototype[prop];
+ }
+ }
- const request = tx.objectStore('store').put({index0: array}, 'key');
+ const request = with_proto_getter(
+ () => tx.objectStore('store').put({index0: array}, 'key'));
request.onerror = t.unreached_func('put should not fail');
request.onsuccess = t.step_func(function() {
assert_equals(getter_called, 0, 'Prototype getter should not be called');
- delete Object.prototype[prop];
t.done();
});
},
diff --git a/tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm
index 1a4357bb5d5..470ff2681b3 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm
@@ -20,12 +20,12 @@
openrq.onupgradeneeded = function(e) {
var db = e.target.result;
- assert_throws('SyntaxError', function() {
+ assert_throws_dom('SyntaxError', function() {
db.createObjectStore(store_name, { keyPath: keypath })
}, "createObjectStore with keyPath");
var store = db.createObjectStore(store_name);
- assert_throws('SyntaxError', function() {
+ assert_throws_dom('SyntaxError', function() {
store.createIndex('index', keypath);
}, "createIndex with keyPath");
diff --git a/tests/wpt/web-platform-tests/IndexedDB/structured-clone-transaction-state.any.js b/tests/wpt/web-platform-tests/IndexedDB/structured-clone-transaction-state.any.js
index 8c41d3b72bf..5494bc51eb0 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/structured-clone-transaction-state.any.js
+++ b/tests/wpt/web-platform-tests/IndexedDB/structured-clone-transaction-state.any.js
@@ -17,7 +17,7 @@ promise_test(async testCase => {
enumerable: true,
get: testCase.step_func(() => {
getterCalled = true;
- assert_throws('TransactionInactiveError', () => {
+ assert_throws_dom('TransactionInactiveError', () => {
objectStore.get('key');
}, 'transaction should not be active during structured clone');
return 'value that should not be used';
@@ -45,7 +45,7 @@ promise_test(async testCase => {
enumerable: true,
get: testCase.step_func(() => {
getterCalled = true;
- assert_throws('TransactionInactiveError', () => {
+ assert_throws_dom('TransactionInactiveError', () => {
objectStore.get('key');
}, 'transaction should not be active during structured clone');
return 'value that should not be used';
@@ -75,7 +75,7 @@ promise_test(async testCase => {
enumerable: true,
get: testCase.step_func(() => {
getterCalled = true;
- assert_throws('TransactionInactiveError', () => {
+ assert_throws_dom('TransactionInactiveError', () => {
objectStore.get('key');
}, 'transaction should not be active during structured clone');
return 'value that should not be used';
diff --git a/tests/wpt/web-platform-tests/IndexedDB/structured-clone.any.js b/tests/wpt/web-platform-tests/IndexedDB/structured-clone.any.js
index e03ba7aeee4..d21e64d37c1 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/structured-clone.any.js
+++ b/tests/wpt/web-platform-tests/IndexedDB/structured-clone.any.js
@@ -65,7 +65,7 @@ function cloneFailureTest(value) {
});
const tx = db.transaction('store', 'readwrite');
const store = tx.objectStore('store');
- assert_throws('DataCloneError', () => store.put(value, 'key'));
+ assert_throws_dom('DataCloneError', () => store.put(value, 'key'));
}, 'Not serializable: ' + describe(value));
}
diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-index-metadata-revert.html b/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-index-metadata-revert.html
index 0b216f633e6..355fbbc31fe 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-index-metadata-revert.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-index-metadata-revert.html
@@ -24,7 +24,7 @@ promise_test(testCase => {
'before the transaction is aborted');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -34,7 +34,7 @@ promise_test(testCase => {
'IDBObjectStore.indexNames should stop including the newly ' +
'created indexes immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, after the transaction is ' +
@@ -59,7 +59,7 @@ promise_test(testCase => {
index = store.index('not_by_author');
database.deleteObjectStore('not_books');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -70,7 +70,7 @@ promise_test(testCase => {
'IDBDatabase.deleteObjectStore() returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => index.get('query'),
'IDBIndex.get should throw TransactionInactiveError, indicating ' +
'that the index is no longer marked for deletion, immediately ' +
@@ -80,7 +80,7 @@ promise_test(testCase => {
'IDBObjectStore.indexNames should include the deleted indexes ' +
'immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => index.get('query'),
'IDBIndex.get should throw TransactionInactiveError, indicating ' +
'that the index is no longer marked for deletion, after the ' +
@@ -108,7 +108,7 @@ promise_test(testCase => {
'before the transaction is aborted');
database.deleteObjectStore('not_books');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -119,7 +119,7 @@ promise_test(testCase => {
'IDBDatabase.deleteObjectStore() returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, immediately after ' +
@@ -129,7 +129,7 @@ promise_test(testCase => {
'IDBObjectStore.indexNames should not include the newly ' +
'created indexes immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, after the transaction ' +
@@ -158,7 +158,7 @@ promise_test(testCase => {
'before the transaction is aborted');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -168,7 +168,7 @@ promise_test(testCase => {
'IDBObjectStore.indexNames should stop including the newly ' +
'created index immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, after the transaction is ' +
@@ -192,7 +192,7 @@ promise_test(testCase => {
index = store.index('not_by_author');
store.deleteIndex('not_by_author');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -203,7 +203,7 @@ promise_test(testCase => {
'immediately after IDBObjectStore.deleteIndex() returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => index.get('query'),
'IDBIndex.get should throw TransactionInactiveError, indicating ' +
'that the index is no longer marked for deletion, immediately ' +
@@ -213,7 +213,7 @@ promise_test(testCase => {
'IDBObjectStore.indexNames should include the deleted indexes ' +
'immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => index.get('query'),
'IDBIndex.get should throw TransactionInactiveError, indicating ' +
'that the index is no longer marked for deletion, after the ' +
@@ -241,7 +241,7 @@ promise_test(testCase => {
'before the transaction is aborted');
store.deleteIndex('not_by_isbn');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -252,7 +252,7 @@ promise_test(testCase => {
'immediately after IDBObjectStore.deleteIndex() returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, immediately after ' +
@@ -262,7 +262,7 @@ promise_test(testCase => {
'IDBObjectStore.indexNames should stop including the newly ' +
'created index immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, after the transaction is ' +
diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-multiple-metadata-revert.html b/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-multiple-metadata-revert.html
index ac61788822d..ca63eaaad37 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-multiple-metadata-revert.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-multiple-metadata-revert.html
@@ -31,7 +31,7 @@ promise_test(testCase => {
index = store.index('not_by_author');
store.deleteIndex('not_by_author');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -42,12 +42,12 @@ promise_test(testCase => {
'immediately after IDBObjectStore.deleteIndex() returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, immediately after ' +
'IDBTransaction.abort() returns');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, immediately after ' +
@@ -65,12 +65,12 @@ promise_test(testCase => {
'IDBObjectStore.indexNames for the newly created store should be ' +
'empty immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, after the transaction is ' +
'aborted');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, after the transaction ' +
@@ -105,7 +105,7 @@ promise_test(testCase => {
store = transaction.objectStore('not_books');
index = store.index('not_by_author');
store.deleteIndex('not_by_author');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -116,12 +116,12 @@ promise_test(testCase => {
'immediately after IDBObjectStore.deleteIndex() returns');
database.deleteObjectStore('not_books');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, immediately after ' +
'IDBDatabase.deleteObjectStore() returns');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, immediately after ' +
@@ -142,12 +142,12 @@ promise_test(testCase => {
'immediately after IDBDatabase.deleteObjectStore() returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => store.get('query'),
'IDBObjectStore.get should throw TransactionInactiveError, ' +
'indicating that the store is no longer marked for deletion, ' +
'immediately after IDBTransaction.abort() returns');
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => index.get('query'),
'IDBIndex.get should throw TransactionInactiveError, indicating ' +
'that the index is no longer marked for deletion, immediately ' +
@@ -165,12 +165,12 @@ promise_test(testCase => {
'IDBObjectStore.indexNames for the deleted store should not be ' +
'empty any more immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => store.get('query'),
'IDBObjectStore.get should throw TransactionInactiveError, ' +
'indicating that the store is no longer marked for deletion, ' +
'after the transaction is aborted');
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => index.get('query'),
'IDBIndex.get should throw TransactionInactiveError, indicating ' +
'that the index is no longer marked for deletion, after the ' +
@@ -204,7 +204,7 @@ promise_test(testCase => {
migrationTransaction = transaction;
index = store.index('not_by_author');
store.deleteIndex('not_by_author');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is marked for deletion, immediately after ' +
@@ -215,12 +215,12 @@ promise_test(testCase => {
'immediately after IDBObjectStore.deleteIndex() returns');
database.deleteObjectStore('not_books');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, immediately after ' +
'IDBDatabase.deleteObjectStore() returns');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, immediately after ' +
@@ -241,12 +241,12 @@ promise_test(testCase => {
'IDBDatabase.deleteObjectStore() returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is still marked for deletion, immediately after ' +
'IDBTransaction.abort() returns');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, immediately after ' +
@@ -264,12 +264,12 @@ promise_test(testCase => {
'IDBObjectStore.indexNames should be empty immediately after ' +
'IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is still marked for deletion, after the ' +
'transaction is aborted');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => index.get('query'),
'IDBIndex.get should throw InvalidStateError, indicating that ' +
'the index is still marked for deletion, after the transaction ' +
diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-object-store-metadata-revert.html b/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-object-store-metadata-revert.html
index decc45a5ee4..bcdcd1a22fd 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-object-store-metadata-revert.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-abort-object-store-metadata-revert.html
@@ -29,7 +29,7 @@ promise_test(testCase => {
'store before the transaction is aborted');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, immediately after ' +
@@ -43,7 +43,7 @@ promise_test(testCase => {
'IDBDatabase.objectStoreNames should stop including the newly ' +
'created store immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, after the transaction is ' +
@@ -72,7 +72,7 @@ promise_test(testCase => {
store = transaction.objectStore('not_books');
database.deleteObjectStore('not_books');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, immediately after ' +
@@ -89,7 +89,7 @@ promise_test(testCase => {
'returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => store.get('query'),
'IDBObjectStore.get should throw TransactionInactiveError, ' +
'indicating that the store is no longer marked for deletion, ' +
@@ -103,7 +103,7 @@ promise_test(testCase => {
'IDBTransaction.objectStoreNames should include the deleted ' +
'store immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError', () => store.get('query'),
'IDBObjectStore.get should throw TransactionInactiveError, ' +
'indicating that the store is no longer marked for deletion, ' +
@@ -139,7 +139,7 @@ promise_test(testCase => {
'store before the transaction is aborted');
database.deleteObjectStore('not_books');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is marked for deletion, immediately after ' +
@@ -156,7 +156,7 @@ promise_test(testCase => {
'returns');
transaction.abort();
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is still marked for deletion, immediately after ' +
@@ -170,7 +170,7 @@ promise_test(testCase => {
'IDBDatabase.objectStoreNames should not include the newly ' +
'created store immediately after IDBTransaction.abort() returns');
})).then(() => {
- assert_throws(
+ assert_throws_dom(
'InvalidStateError', () => store.get('query'),
'IDBObjectStore.get should throw InvalidStateError, indicating ' +
'that the store is still marked for deletion, after the ' +
diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm b/tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm
index 4d98c000408..0bfb4a87b91 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm
+++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm
@@ -17,14 +17,14 @@
.add("versionchange1", 1)
.addEventListener("success", log("versionchange_add.success"))
- assert_throws('InvalidStateError', function() { db.transaction("store") })
+ assert_throws_dom('InvalidStateError', function() { db.transaction("store") })
e.target.transaction
.objectStore("store")
.count(2)
.addEventListener("success", log("versionchange_count.success"))
- assert_throws('InvalidStateError', function() { db.transaction("store", "readwrite") })
+ assert_throws_dom('InvalidStateError', function() { db.transaction("store", "readwrite") })
open_rq.transaction
.objectStore("store")
diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-relaxed-durability.tentative.any.js b/tests/wpt/web-platform-tests/IndexedDB/transaction-relaxed-durability.tentative.any.js
index 865c28ce163..7e17403eb0c 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/transaction-relaxed-durability.tentative.any.js
+++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-relaxed-durability.tentative.any.js
@@ -46,7 +46,7 @@ promise_test(async testCase => {
createBooksStore(testCase, db);
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
db.transaction(['books'], 'readwrite', { durability: 'invalid' });
});
db.close();
diff --git a/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html b/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html
index 9a7c4b42f50..b516788e095 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html
@@ -26,12 +26,12 @@ promise_test(t => {
assert_equals(
request.transaction, transaction,
"The open request's transaction should be reset after onabort");
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the ' +
'transaction is no longer running');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the ' +
@@ -60,12 +60,12 @@ promise_test(t => {
request.transaction, null,
"The open request's transaction should be reset after " +
'onabort microtasks');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the ' +
'transaction is no longer running');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the ' +
diff --git a/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-committed.html b/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-committed.html
index 366ed38cb8a..53afc13259e 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-committed.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-committed.html
@@ -27,12 +27,12 @@ promise_test(t => {
request.transaction, transaction,
"The open request's transaction should be reset after " +
'oncomplete');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the ' +
'transaction is no longer running');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the ' +
@@ -58,12 +58,12 @@ promise_test(t => {
request.transaction, null,
"The open request's transaction should be reset after " +
'oncomplete microtasks');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the ' +
'transaction is no longer running');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the ' +
diff --git a/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-user-aborted.html b/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-user-aborted.html
index 9db93db93d3..8dff86196cf 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-user-aborted.html
+++ b/tests/wpt/web-platform-tests/IndexedDB/upgrade-transaction-lifecycle-user-aborted.html
@@ -25,12 +25,12 @@ promise_test(t => {
request.transaction, transaction,
"The open request's transaction should be reset after onabort");
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the transaction is ' +
'still running');
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the transaction is' +
@@ -60,12 +60,12 @@ promise_test(t => {
assert_equals(
request.transaction, transaction,
"The open request's transaction should be reset after onabort");
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the transaction ' +
'is still running');
- assert_throws(
+ assert_throws_dom(
'TransactionInactiveError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the transaction ' +
@@ -87,12 +87,12 @@ promise_test(t => {
assert_equals(
request.transaction, transaction,
"The open request's transaction should be reset after onabort");
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the ' +
'transaction is no longer running');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the ' +
@@ -120,12 +120,12 @@ promise_test(t => {
request.transaction, null,
"The open request's transaction should be reset after " +
'onabort microtasks');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.createObjectStore('books2'); },
'createObjectStore exception should reflect that the ' +
'transaction is no longer running');
- assert_throws(
+ assert_throws_dom(
'InvalidStateError',
() => { database.deleteObjectStore('books'); },
'deleteObjectStore exception should reflect that the ' +
diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/getRandomValues.any.js b/tests/wpt/web-platform-tests/WebCryptoAPI/getRandomValues.any.js
index dd970ebfa60..473d57fc460 100644
--- a/tests/wpt/web-platform-tests/WebCryptoAPI/getRandomValues.any.js
+++ b/tests/wpt/web-platform-tests/WebCryptoAPI/getRandomValues.any.js
@@ -1,16 +1,16 @@
// Step 1.
test(function() {
- assert_throws("TypeMismatchError", function() {
+ assert_throws_dom("TypeMismatchError", function() {
self.crypto.getRandomValues(new Float32Array(6))
}, "Float32Array")
- assert_throws("TypeMismatchError", function() {
+ assert_throws_dom("TypeMismatchError", function() {
self.crypto.getRandomValues(new Float64Array(6))
}, "Float64Array")
- assert_throws("TypeMismatchError", function() {
+ assert_throws_dom("TypeMismatchError", function() {
self.crypto.getRandomValues(new Float32Array(65537))
}, "Float32Array (too long)")
- assert_throws("TypeMismatchError", function() {
+ assert_throws_dom("TypeMismatchError", function() {
self.crypto.getRandomValues(new Float64Array(65537))
}, "Float64Array (too long)")
}, "Float arrays")
@@ -35,7 +35,7 @@ test(function() {
test(function() {
for (var array in arrays) {
var maxlength = 65536 / (arrays[array].BYTES_PER_ELEMENT);
- assert_throws("QuotaExceededError", function() {
+ assert_throws_dom("QuotaExceededError", function() {
self.crypto.getRandomValues(new arrays[array](maxlength + 1))
}, "crypto.getRandomValues length over 65536")
}
diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js b/tests/wpt/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js
index d584c25f81e..8f1a60287c2 100644
--- a/tests/wpt/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js
+++ b/tests/wpt/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.js
@@ -233,9 +233,6 @@ function run_test() {
// RSA-OAEP can only wrap relatively small payloads. AES-KW can only
// wrap payloads a multiple of 8 bytes long.
- //
- // Note that JWK payloads will be converted to ArrayBuffer for wrapping,
- // and should automatically be padded if needed for AES-KW.
function wrappingIsPossible(exportedKey, algorithmName) {
if ("byteLength" in exportedKey && algorithmName === "AES-KW") {
return exportedKey.byteLength % 8 === 0;
@@ -249,6 +246,10 @@ function run_test() {
return exportedKey.byteLength <= 446;
}
+ if ("kty" in exportedKey && algorithmName === "AES-KW") {
+ return JSON.stringify(exportedKey).length % 8 == 0;
+ }
+
if ("kty" in exportedKey && algorithmName === "RSA-OAEP") {
return JSON.stringify(exportedKey).length <= 478;
}
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js
index 8d69c6e0707..ed05d27646f 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-custom-bindings.any.js
@@ -1,7 +1,7 @@
"use strict";
test(() => {
- assert_throws(new TypeError(), () => DOMException());
+ assert_throws_js(TypeError, () => DOMException());
}, "Cannot construct without new");
test(() => {
@@ -26,7 +26,7 @@ test(() => {
test(() => {
const getter = Object.getOwnPropertyDescriptor(DOMException.prototype, "message").get;
- assert_throws(new TypeError(), () => getter.apply({}));
+ assert_throws_js(TypeError, () => getter.apply({}));
}, "message getter performs brand checks (i.e. is not [LenientThis]");
test(() => {
@@ -43,7 +43,7 @@ test(() => {
test(() => {
const getter = Object.getOwnPropertyDescriptor(DOMException.prototype, "name").get;
- assert_throws(new TypeError(), () => getter.apply({}));
+ assert_throws_js(TypeError, () => getter.apply({}));
}, "name getter performs brand checks (i.e. is not [LenientThis]");
test(() => {
@@ -60,7 +60,7 @@ test(() => {
test(() => {
const getter = Object.getOwnPropertyDescriptor(DOMException.prototype, "code").get;
- assert_throws(new TypeError(), () => getter.apply({}));
+ assert_throws_js(TypeError, () => getter.apply({}));
}, "code getter performs brand checks (i.e. is not [LenientThis]");
test(() => {
@@ -98,7 +98,7 @@ test(() => {
}, "toString() behavior from Error.prototype applies as expected");
test(() => {
- assert_throws(new TypeError(), () => DOMException.prototype.toString());
+ assert_throws_js(TypeError, () => DOMException.prototype.toString());
}, "DOMException.prototype.toString() applied to DOMException.prototype throws because of name/message brand checks");
test(() => {
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html
index 396d0a4c6c6..d26c6626699 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html
@@ -9,8 +9,8 @@
/**
* This file just picks one case where browsers are supposed to throw an
* exception, and tests the heck out of whether it meets the spec. In the
- * future, all these checks should be in assert_throws(), but we don't want
- * every browser failing every assert_throws() check until they fix every
+ * future, all these checks should be in assert_throws_dom(), but we don't want
+ * every browser failing every assert_throws_dom() check until they fix every
* single bug in their exception-throwing.
*
* We don't go out of our way to test everything that's already tested by
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/global-immutable-prototype.any.js b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/global-immutable-prototype.any.js
index 7b97e062c9d..6291c3ae935 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/global-immutable-prototype.any.js
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/global-immutable-prototype.any.js
@@ -10,7 +10,7 @@ setup(() => {
test(() => {
for (const object of objects) {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
Object.setPrototypeOf(object, {});
});
}
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html
index 5a935fa2013..466973dc08f 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html
@@ -23,16 +23,16 @@ test(() => {
const usp = new URLSearchParams();
const iteratorProto = Object.getPrototypeOf(usp.entries());
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
iteratorProto.next();
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
iteratorProto.next.call(undefined);
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
iteratorProto.next.call(42);
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
iteratorProto.next.call(new Headers().entries());
});
}, "next() throws TypeError when called on ineligible receiver");
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html
index 01a008d108c..f5b49e221f7 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html
@@ -23,8 +23,8 @@ test(() => {
}, "Must have the correct property descriptor");
test(() => {
- assert_throws(new TypeError(), () => NodeFilter(), "call");
- assert_throws(new TypeError(), () => new NodeFilter(), "construct");
+ assert_throws_js(TypeError, () => NodeFilter(), "call");
+ assert_throws_js(TypeError, () => new NodeFilter(), "construct");
}, "Must throw a TypeError when called or constructed")
test(() => {
@@ -59,10 +59,10 @@ test(() => {
// OrdinaryHasInstance throws a TypeError if the right-hand-side doesn't have a .prototype object,
// which is the case for callback interfaces.
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
(function () { }) instanceof NodeFilter;
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
({ }) instanceof NodeFilter;
});
}, "instanceof must throw but only when we don't bail out early");
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object.html
index a5327e97d04..55e3c08addd 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object.html
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object.html
@@ -121,17 +121,17 @@ test(function() {
configurable: true});
assert_prop_desc_equals(domTokenList, "1", undefined);
// Actual test
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(domTokenList, "0", {value: true, writable: true}));
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(domTokenList, "1", {value: true, writable: true}));
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(domTokenList, "0", {get: () => {}}));
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(domTokenList, "0", {set: () => {}}));
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(domTokenList, "1", {get: () => {}}));
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(domTokenList, "1", {set: () => {}}));
assert_equals(domTokenList[0], "foo");
assert_equals(domTokenList[1], undefined);
@@ -139,11 +139,11 @@ test(function() {
domTokenList[1] = "bar";
assert_equals(domTokenList[0], "foo");
assert_equals(domTokenList[1], undefined);
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
"use strict";
domTokenList[0] = "bar";
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
"use strict";
domTokenList[1] = "bar";
});
@@ -164,9 +164,9 @@ test(function() {
assert_equals(select.length, 0);
assert_prop_desc_equals(select, "0", undefined);
// Try to define an accessor property with non supported property index.
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(select, "0", {get: () => {}}));
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(select, "0", {set: () => {}}));
assert_prop_desc_equals(select, "0", undefined);
// writable, enumerable, configurable will be ignored.
@@ -180,9 +180,9 @@ test(function() {
{value: option1, writable: true, enumerable: true,
configurable: true});
// Try to define an accessor property with a supported property index.
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(select, "0", {get: () => {}}));
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
Object.defineProperty(select, "0", {set: () => {}}));
assert_prop_desc_equals(select, "0",
{value: option0, writable: true, enumerable: true,
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html
index 83ec534b2b3..6a13587899b 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html
@@ -77,7 +77,7 @@ test(() => {
set: descriptor.set
});
- assert_throws(new SyntaxError(), () => {
+ assert_throws_js(SyntaxError, () => {
element.style = "color: green";
});
}, "Exception propagation from getter of [PutForwards] attribute");
@@ -94,7 +94,7 @@ test(() => {
}
});
- assert_throws(new SyntaxError(), () => {
+ assert_throws_js(SyntaxError, () => {
element.style = "color: green";
});
}, "Exception propagation from setter of [PutForwards] target attribute");
@@ -110,7 +110,7 @@ test(() => {
set: descriptor.set
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
element.style = "color: green";
});
}, "TypeError when getter of [PutForwards] attribute returns non-object");
diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html
index 3b45310dd5f..cdd3bac2ec9 100644
--- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html
+++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html
@@ -151,7 +151,7 @@ test(t => {
test(t => {
// Should fail rather than falling back to record
- assert_throws(new TypeError(), function() { new URLSearchParams(["key", "value"]); });
+ assert_throws_js(TypeError, function() { new URLSearchParams(["key", "value"]); });
}, "A string array in sequence<sequence> or record");
</script>
diff --git a/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html
index 5d033b30099..ae90fa28814 100644
--- a/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html
+++ b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html
@@ -113,7 +113,7 @@ function CreateKeyframeEffect(element) {
await runInAnimationWorklet(document.getElementById('simple_animate').textContent);
let constructorFunc = function() { new WorkletAnimation(
'test-animator', []); };
- assert_throws('NotSupportedError', constructorFunc);
+ assert_throws_dom('NotSupportedError', constructorFunc);
}, 'If there are no effects specified, object construction should fail');
promise_test(async t => {
@@ -136,6 +136,6 @@ function CreateKeyframeEffect(element) {
let constructorFunc = function() {
new WorkletAnimation('unregistered-animator', effect);
};
- assert_throws('InvalidStateError', constructorFunc);
+ assert_throws_dom('InvalidStateError', constructorFunc);
}, 'Constructing worklet animation for unregisested animator should throw');
</script>
diff --git a/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-invalid-effect.https.html b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-invalid-effect.https.html
index 8b72d4e487c..75261d251cc 100644
--- a/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-invalid-effect.https.html
+++ b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-invalid-effect.https.html
@@ -31,6 +31,6 @@ promise_test(async function() {
let animation = new WorkletAnimation('passthrough', effect);
animation.play();
}
- assert_throws('InvalidStateError', playFunc);
+ assert_throws_dom('InvalidStateError', playFunc);
}, 'Trying to play invalid worklet animation should throw an exception.');
</script>
diff --git a/tests/wpt/web-platform-tests/beacon/beacon-error.sub.window.js b/tests/wpt/web-platform-tests/beacon/beacon-error.sub.window.js
index f2c5e95a276..499fa3b2721 100644
--- a/tests/wpt/web-platform-tests/beacon/beacon-error.sub.window.js
+++ b/tests/wpt/web-platform-tests/beacon/beacon-error.sub.window.js
@@ -13,13 +13,13 @@ test(function() {
test(function() {
var invalidUrl = "http://invalid:url";
- assert_throws(new TypeError(), function() { navigator.sendBeacon(invalidUrl, smallPayload); },
+ assert_throws_js(TypeError, function() { navigator.sendBeacon(invalidUrl, smallPayload); },
`calling 'navigator.sendBeacon()' with an invalid URL '${invalidUrl}' must throw a TypeError`);
}, "Verify calling 'navigator.sendBeacon()' with an invalid URL throws an exception.");
test(function() {
var invalidUrl = "nothttp://invalid.url";
- assert_throws(new TypeError(), function() { navigator.sendBeacon(invalidUrl, smallPayload); },
+ assert_throws_js(TypeError, function() { navigator.sendBeacon(invalidUrl, smallPayload); },
`calling 'navigator.sendBeacon()' with a non-http(s) URL '${invalidUrl}' must throw a TypeError`);
}, "Verify calling 'navigator.sendBeacon()' with a URL that is not a http(s) scheme throws an exception.");
diff --git a/tests/wpt/web-platform-tests/beacon/beacon-readablestream.window.js b/tests/wpt/web-platform-tests/beacon/beacon-readablestream.window.js
index fc7f81f884b..46e30fcda5c 100644
--- a/tests/wpt/web-platform-tests/beacon/beacon-readablestream.window.js
+++ b/tests/wpt/web-platform-tests/beacon/beacon-readablestream.window.js
@@ -1,3 +1,3 @@
test(() => {
- assert_throws(new TypeError(), () => navigator.sendBeacon("...", new ReadableStream()));
+ assert_throws_js(TypeError, () => navigator.sendBeacon("...", new ReadableStream()));
}, "sendBeacon() with a stream does not work due to the keepalive flag being set");
diff --git a/tests/wpt/web-platform-tests/bluetooth/idl/idl-Bluetooth.https.html b/tests/wpt/web-platform-tests/bluetooth/idl/idl-Bluetooth.https.html
index 9578fd6af21..7322df53e5c 100644
--- a/tests/wpt/web-platform-tests/bluetooth/idl/idl-Bluetooth.https.html
+++ b/tests/wpt/web-platform-tests/bluetooth/idl/idl-Bluetooth.https.html
@@ -7,11 +7,11 @@
const test_desc = 'Bluetooth IDL test';
test(() => {
- assert_throws(
- new TypeError(), () => new Bluetooth(),
+ assert_throws_js(
+ TypeError, () => new Bluetooth(),
'the constructor should not be callable with "new"');
- assert_throws(
- new TypeError(), () => Bluetooth(),
+ assert_throws_js(
+ TypeError, () => Bluetooth(),
'the constructor should not be callable');
// Bluetooth implements BluetoothDiscovery;
diff --git a/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html b/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html
index 707ac1ab03a..6030d4e5acd 100644
--- a/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html
+++ b/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html
@@ -9,11 +9,11 @@
const test_desc_idl = 'BluetoothDevice IDL test.';
test(() => {
- assert_throws(
- new TypeError(), () => new BluetoothDevice(),
+ assert_throws_js(
+ TypeError, () => new BluetoothDevice(),
'the constructor should not be callable with "new"');
- assert_throws(
- new TypeError(), () => BluetoothDevice(),
+ assert_throws_js(
+ TypeError, () => BluetoothDevice(),
'the constructor should not be callable');
}, test_desc_idl);
@@ -23,11 +23,11 @@ bluetooth_test(
() => getConnectedHealthThermometerDevice().then(({device}) => {
assert_equals(device.constructor.name, 'BluetoothDevice');
var old_device_id = device.id;
- assert_throws(
- new TypeError(), () => device.id = 'overwritten',
+ assert_throws_js(
+ TypeError, () => device.id = 'overwritten',
'the device id should not be writable');
- assert_throws(
- new TypeError(), () => device.name = 'overwritten',
+ assert_throws_js(
+ TypeError, () => device.name = 'overwritten',
'the device name should not be writable');
assert_equals(device.id, old_device_id);
assert_equals(device.name, 'Health Thermometer');
diff --git a/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothUUID.html b/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothUUID.html
index 14463127e06..13e00226ade 100644
--- a/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothUUID.html
+++ b/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothUUID.html
@@ -71,29 +71,29 @@ test(() => {
test(() => {
let all_caps_uuid = '1A2B3C4D-5E6F-7A8B-9C0D-1E2F3A4B5C6D';
- assert_throws(TypeError(), () => BluetoothUUID.getService(all_caps_uuid));
- assert_throws(
- TypeError(), () => BluetoothUUID.getCharacteristic(all_caps_uuid));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(all_caps_uuid));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(all_caps_uuid));
+ assert_throws_js(
+ TypeError, () => BluetoothUUID.getCharacteristic(all_caps_uuid));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(all_caps_uuid));
}, 'A UUID String with uppercase letters is an invalid UUID.');
test(() => {
let string_alias = 'deadbeef';
- assert_throws(TypeError(), () => BluetoothUUID.getService(string_alias));
- assert_throws(
- TypeError(), () => BluetoothUUID.getCharacteristic(string_alias));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(string_alias));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(string_alias));
+ assert_throws_js(
+ TypeError, () => BluetoothUUID.getCharacteristic(string_alias));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(string_alias));
}, 'A 32bit *String* alias is invalid.');
test(() => {
let invalid_character_uuid = '0000000g-0000-1000-8000-00805f9b34fb';
- assert_throws(
- TypeError(), () => BluetoothUUID.getService(invalid_character_uuid));
- assert_throws(
- TypeError(),
+ assert_throws_js(
+ TypeError, () => BluetoothUUID.getService(invalid_character_uuid));
+ assert_throws_js(
+ TypeError,
() => BluetoothUUID.getCharacteristic(invalid_character_uuid));
- assert_throws(
- TypeError(), () => BluetoothUUID.getDescriptor(invalid_character_uuid));
+ assert_throws_js(
+ TypeError, () => BluetoothUUID.getDescriptor(invalid_character_uuid));
}, 'A UUID with invalid characters is an invalid UUID.');
test(() => {
@@ -109,31 +109,31 @@ test(() => {
}, 'A valid UUID from a name.');
test(() => {
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
BluetoothUUID.getService('aerobic_heart_rate_lower_limit');
});
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
BluetoothUUID.getService('gatt.characteristic_extended_properties');
});
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
BluetoothUUID.getCharacteristic('alert_notification');
});
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
BluetoothUUID.getCharacteristic('gatt.characteristic_extended_properties');
});
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
BluetoothUUID.getDescriptor('alert_notification');
});
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
BluetoothUUID.getDescriptor('aerobic_heart_rate_lower_limit');
});
}, 'Make sure attributes don\'t share a map');
test(() => {
let wrong_name = 'wrong_name';
- assert_throws(TypeError(), () => BluetoothUUID.getService(wrong_name));
- assert_throws(TypeError(), () => BluetoothUUID.getCharacteristic(wrong_name));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(wrong_name));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(wrong_name));
+ assert_throws_js(TypeError, () => BluetoothUUID.getCharacteristic(wrong_name));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(wrong_name));
}, 'Invalid Descriptor name');
test(() => {
@@ -154,27 +154,27 @@ test(() => {
assert_throws_js(TypeError, () => BluetoothUUID.canonicalUUID(NaN));
// getService
- assert_throws(TypeError(), () => BluetoothUUID.getService(object));
- assert_throws(TypeError(), () => BluetoothUUID.getService(array));
- assert_throws(TypeError(), () => BluetoothUUID.getService(func));
- assert_throws(TypeError(), () => BluetoothUUID.getService(undefined));
- assert_throws(TypeError(), () => BluetoothUUID.getService(null));
- assert_throws(TypeError(), () => BluetoothUUID.getService(false));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(object));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(array));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(func));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(undefined));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(null));
+ assert_throws_js(TypeError, () => BluetoothUUID.getService(false));
// getCharacteristic
- assert_throws(TypeError(), () => BluetoothUUID.getCharacteristic(object));
- assert_throws(TypeError(), () => BluetoothUUID.getCharacteristic(array));
- assert_throws(TypeError(), () => BluetoothUUID.getCharacteristic(func));
- assert_throws(TypeError(), () => BluetoothUUID.getCharacteristic(undefined));
- assert_throws(TypeError(), () => BluetoothUUID.getCharacteristic(null));
- assert_throws(TypeError(), () => BluetoothUUID.getCharacteristic(false));
+ assert_throws_js(TypeError, () => BluetoothUUID.getCharacteristic(object));
+ assert_throws_js(TypeError, () => BluetoothUUID.getCharacteristic(array));
+ assert_throws_js(TypeError, () => BluetoothUUID.getCharacteristic(func));
+ assert_throws_js(TypeError, () => BluetoothUUID.getCharacteristic(undefined));
+ assert_throws_js(TypeError, () => BluetoothUUID.getCharacteristic(null));
+ assert_throws_js(TypeError, () => BluetoothUUID.getCharacteristic(false));
// getDescriptor
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(object));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(array));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(func));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(undefined));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(null));
- assert_throws(TypeError(), () => BluetoothUUID.getDescriptor(false));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(object));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(array));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(func));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(undefined));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(null));
+ assert_throws_js(TypeError, () => BluetoothUUID.getDescriptor(false));
}, 'Non-number and non-strings');
</script>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-answers.sub.https.html b/tests/wpt/web-platform-tests/client-hints/accept-ch-answers.sub.https.html
new file mode 100644
index 00000000000..8070d8bb297
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-answers.sub.https.html
@@ -0,0 +1,62 @@
+<html>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+
+// If the response for the HTML file contains "Accept-CH" in the response
+// headers, then the browser should attach the specified client hints in the
+// HTTP request headers depending on whether the resource is being fetched from
+// the same origin or a different origin. Test this functionality by fetching
+// same-origin and cross-origin resources from this page. The response headers
+// for this page include "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
+//
+// resources/echo-client-hints-received.py sets the response headers depending on the set
+// of client hints it receives in the request headers.
+
+promise_test(t => {
+ return fetch("https://{{domains[]}}:{{ports[https][0]}}/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser includes client hints in the headers for a
+ // same-origin fetch.
+ assert_true(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_true(r.headers.has("dpr-received"), "dpr-received");
+ assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
+
+ assert_true(r.headers.has("rtt-received"), "rtt-received");
+ var rtt = parseInt(r.headers.get("rtt-received"));
+ assert_greater_than_equal(rtt, 0);
+ assert_less_than_equal(rtt, 3000);
+ assert_equals(rtt % 50, 0, 'rtt must be a multiple of 50 msec');
+
+ assert_true(r.headers.has("downlink-received"), "downlink-received");
+ var downlinkKbps = r.headers.get("downlink-received") * 1000;
+ assert_greater_than_equal(downlinkKbps, 0);
+ assert_less_than_equal(downlinkKbps, 10000);
+
+ assert_in_array(r.headers.get("ect-received"), ["slow-2g", "2g",
+ "3g", "4g"], 'ect-received is unexpected');
+ });
+}, "Accept-CH header test");
+
+promise_test(t => {
+ return fetch("https://{{domains[www]}}:{{ports[https][0]}}/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser does not include client hints in the headers
+ // for a cross-origin fetch.
+ assert_false(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ assert_false(r.headers.has("rtt-received"), "rtt-received");
+ assert_false(r.headers.has("downlink-received"), "downlink-received");
+ assert_false(r.headers.has("ect-received"), "ect-received");
+ });
+}, "Cross-Origin Accept-CH header test");
+
+
+
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch.http.html.headers b/tests/wpt/web-platform-tests/client-hints/accept-ch-answers.sub.https.html.headers
index 4f3a57b865b..4f3a57b865b 100644
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch.http.html.headers
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-answers.sub.https.html.headers
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-cache-revalidation.https.html b/tests/wpt/web-platform-tests/client-hints/accept-ch-cache-revalidation.https.html
index 6133e8ad2d7..1bbf5aa6de6 100644
--- a/tests/wpt/web-platform-tests/client-hints/accept-ch-cache-revalidation.https.html
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-cache-revalidation.https.html
@@ -28,6 +28,7 @@ promise_test(async (test) => {
"sec-ch-ua-arch",
"sec-ch-ua-platform",
"sec-ch-ua-model",
+ "sec-ch-ua-mobile",
];
const response = await fetch(`resources/stale-echo-client-hints.py?token=` + request_token);
@@ -46,4 +47,4 @@ promise_test(async (test) => {
await wait25ms(test);
}
}, 'Same headers sent for revalidation request');
-</script> \ No newline at end of file
+</script>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-change.https.html b/tests/wpt/web-platform-tests/client-hints/accept-ch-change.https.html
new file mode 100644
index 00000000000..3d291e3f066
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-change.https.html
@@ -0,0 +1,75 @@
+<html>
+<title>Accept-CH test</title>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/open-and-add-load-event.js"></script>
+
+<!--
+Apart from this webpage, the test opens two more html web page. One test is run
+in this web page, and two in the other web pages.
+-->
+
+<script>
+
+// This test fetches resources/accept_ch.html. The response headers to
+// that webpage contains only the Accept-CH header. These preferences should be
+// stored so that the next request to the same origin is sent with the
+// requested client hint headers.
+
+// Next, to verify that the origin preferences were persisted by the user
+// agent, this test fetches resources/expect_client_hints_headers.html in a new
+// window. Fetching of resources/expect_client_hints_headers.html verifies that
+// the user agent does send the client hints in the request headers.
+
+// After this, the same is done but with a differet Accept-CH header, to test
+// that the preferences change after receiving a different header.
+
+// First, verify the initial state to make sure that the browser does not have
+// client hints preferences cached from a previous run of the test.
+promise_test(t => {
+ return fetch("resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser did not include client hints in the request
+ // headers when fetching echo_client_hints_received.py.
+ assert_false(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ });
+}, "Precondition: Test that the browser does not have client hints preferences cached");
+
+function acceptChLoaded() {
+ // Open a new window. Verify that the user agent does attach the client hints.
+ open_and_add_load_event("resources/expect-client-hints-headers.html", changeCh);
+}
+
+function changeCh() {
+ // Use new window to overwrite client hint preferences, then verify new
+ // settings have been saved
+ open_and_add_load_event("resources/accept-ch-different.html", verifyChangeCh);
+}
+
+function verifyChangeCh() {
+ // Use new window to overwrite client hint preferences, then verify new
+ // settings have been saved
+ open_and_add_load_event("resources/expect-client-hints-headers-different.html", clearCh);
+}
+
+function clearCh() {
+ // Use new window to overwrite client hint preferences, then verify new
+ // settings have been saved
+ open_and_add_load_event("resources/accept-ch-empty.html", verifyClearCh);
+}
+
+function verifyClearCh() {
+ // Use new window to overwrite client hint preferences, then verify new
+ // settings have been saved
+ open_and_add_load_event("resources/do-not-expect-client-hints.html", null);
+}
+
+// Fetching this webpage should cause user-agent to persist client hint
+// preferences for the origin.
+open_and_add_load_event("resources/accept-ch.html", acceptChLoaded);
+
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-feature-policy.sub.https.html b/tests/wpt/web-platform-tests/client-hints/accept-ch-feature-policy.sub.https.html
new file mode 100644
index 00000000000..4444dc428e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-feature-policy.sub.https.html
@@ -0,0 +1,68 @@
+<html>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script>
+
+// If the response for the HTML file contains "Accept-CH" in the response
+// headers, then the browser should attach the specified client hints in the
+// HTTP request headers depending on whether the resource is being fetched from
+// the same origin or a different origin. Test this functionality by fetching
+// same-origin and cross-origin resources from this page. The response headers
+// for this page include "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
+//
+// resources/echo-client-hints-received.py sets the response headers depending on the set
+// of client hints it receives in the request headers.
+
+promise_test(t => {
+ return fetch(get_host_info()["HTTPS_ORIGIN"] + "/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser includes client hints in the headers for a
+ // same-origin fetch which not specifically excluded via Feature-Policy.
+ assert_true(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("lang-received"), "lang-received");
+ assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
+
+ assert_true(r.headers.has("rtt-received"), "rtt-received");
+ var rtt = parseInt(r.headers.get("rtt-received"));
+ assert_greater_than_equal(rtt, 0);
+ assert_less_than_equal(rtt, 3000);
+ assert_equals(rtt % 50, 0, 'rtt must be a multiple of 50 msec');
+
+ assert_true(r.headers.has("downlink-received"), "downlink-received");
+ var downlinkKbps = r.headers.get("downlink-received") * 1000;
+ assert_greater_than_equal(downlinkKbps, 0);
+ assert_less_than_equal(downlinkKbps, 10000);
+
+ assert_in_array(r.headers.get("ect-received"), ["slow-2g", "2g",
+ "3g", "4g"], 'ect-received is unexpected');
+
+ assert_true(r.headers.has("mobile-received"));
+ assert_in_array(r.headers.get("mobile-received"), ["?0", "?1"], 'mobile is unexpected');
+ });
+}, "Accept-CH header test");
+
+promise_test(t => {
+ return fetch(get_host_info()["HTTPS_REMOTE_ORIGIN"] + "/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser includes client hints in the headers for a
+ // cross-origin fetch which are specifically requested via Feature-Policy.
+ assert_true(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("lang-received"), "lang-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ assert_false(r.headers.has("rtt-received"), "rtt-received");
+ assert_false(r.headers.has("downlink-received"), "downlink-received");
+ assert_false(r.headers.has("ect-received"), "ect-received");
+ assert_false(r.headers.has("mobile-received"), "mobile-received");
+ });
+}, "Cross-Origin Accept-CH header test");
+
+
+
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_feature_policy.tentative.sub.https.html.headers b/tests/wpt/web-platform-tests/client-hints/accept-ch-feature-policy.sub.https.html.headers
index cf453cf368d..cf453cf368d 100644
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch_feature_policy.tentative.sub.https.html.headers
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-feature-policy.sub.https.html.headers
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-malformed-header.https.html b/tests/wpt/web-platform-tests/client-hints/accept-ch-malformed-header.https.html
new file mode 100644
index 00000000000..b35e4768dcb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-malformed-header.https.html
@@ -0,0 +1,26 @@
+<html>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+
+promise_test(t => {
+ return fetch("/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser does not include client hints in the headers
+ // since Accept-CH is malformed (includes whitespace between attributes
+ // instead of comma).
+ assert_false(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ assert_false(r.headers.has("rtt-received"), "rtt-received");
+ assert_false(r.headers.has("downlink-received"), "downlink-received");
+ assert_false(r.headers.has("ect-received"), "ect-received");
+ });
+}, "Accept-CH header test");
+
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html.headers b/tests/wpt/web-platform-tests/client-hints/accept-ch-malformed-header.https.html.headers
index 6d23758273b..6d23758273b 100644
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html.headers
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-malformed-header.https.html.headers
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-no-feature-policy.sub.https.html b/tests/wpt/web-platform-tests/client-hints/accept-ch-no-feature-policy.sub.https.html
new file mode 100644
index 00000000000..8d786b877f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-no-feature-policy.sub.https.html
@@ -0,0 +1,62 @@
+<html>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script>
+
+// If the response for the HTML file contains "Accept-CH" in the response
+// headers, then the browser should attach the specified client hints in the
+// HTTP request headers depending on whether the resource is being fetched from
+// the same origin or a different origin. Test this functionality by fetching
+// same-origin and cross-origin resources from this page. The response headers
+// for this page include "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
+//
+// resources/echo-client-hints-received.py sets the response headers depending on the set
+// of client hints it receives in the request headers.
+
+promise_test(t => {
+ return fetch(get_host_info()["HTTPS_ORIGIN"] + "/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser includes client hints in the headers for a
+ // same-origin fetch with the default feature policy in place.
+ assert_true(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_true(r.headers.has("dpr-received"), "dpr-received");
+ assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
+
+ assert_true(r.headers.has("rtt-received"), "rtt-received");
+ var rtt = parseInt(r.headers.get("rtt-received"));
+ assert_greater_than_equal(rtt, 0);
+ assert_less_than_equal(rtt, 3000);
+ assert_equals(rtt % 50, 0, 'rtt must be a multiple of 50 msec');
+
+ assert_true(r.headers.has("downlink-received"), "downlink-received");
+ var downlinkKbps = r.headers.get("downlink-received") * 1000;
+ assert_greater_than_equal(downlinkKbps, 0);
+ assert_less_than_equal(downlinkKbps, 10000);
+
+ assert_in_array(r.headers.get("ect-received"), ["slow-2g", "2g",
+ "3g", "4g"], 'ect-received is unexpected');
+ });
+}, "Accept-CH header test");
+
+promise_test(t => {
+ return fetch(get_host_info()["HTTPS_REMOTE_ORIGIN"] + "/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser includes no client hints in the headers for a
+ // cross-origin fetch with the default feature policy in place.
+ assert_false(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ assert_false(r.headers.has("rtt-received"), "rtt-received");
+ assert_false(r.headers.has("downlink-received"), "downlink-received");
+ assert_false(r.headers.has("ect-received"), "ect-received");
+ });
+}, "Cross-Origin Accept-CH header test");
+
+
+
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_no_feature_policy.tentative.sub.https.html.headers b/tests/wpt/web-platform-tests/client-hints/accept-ch-no-feature-policy.sub.https.html.headers
index c6391a863e6..c6391a863e6 100644
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch_no_feature_policy.tentative.sub.https.html.headers
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-no-feature-policy.sub.https.html.headers
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-non-secure.http.html b/tests/wpt/web-platform-tests/client-hints/accept-ch-non-secure.http.html
new file mode 100644
index 00000000000..707108a12b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-non-secure.http.html
@@ -0,0 +1,35 @@
+<html>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+
+// When the response for the HTML file contains "Accept-CH" in the response
+// headers, then the browser should not attach the specified client hints in
+// the HTTP request headers if the response was delivered by an insecure HTTP
+// server. Test this functionality by fetching an XHR from this page hosted on
+// an insecure HTTP server. The response headers for this page include
+// "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
+//
+// resources/echo-client-hints-received.py sets the response headers depending on the set
+// of client hints it receives in the request headers.
+
+ promise_test(t => {
+ return fetch("/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser does not include client hints in the headers
+ // when fetching the XHR from an insecure HTTP server.
+ assert_false(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ assert_false(r.headers.has("rtt-received"), "rtt-received");
+ assert_false(r.headers.has("downlink-received"), "downlink-received");
+ assert_false(r.headers.has("ect-received"), "ect-received");
+ });
+}, "Accept-CH header test");
+
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.sub.https.html.headers b/tests/wpt/web-platform-tests/client-hints/accept-ch-non-secure.http.html.headers
index 4f3a57b865b..4f3a57b865b 100644
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.sub.https.html.headers
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-non-secure.http.html.headers
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/README.md b/tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/README.md
new file mode 100644
index 00000000000..7dd1c6ddaf7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/README.md
@@ -0,0 +1,14 @@
+These tests all follow the same format, calling the `run_test` function from
+`resources/accept_ch_test.js`. This function does the following:
+
+ * checks to make sure no client-hint preferences are saved for a particular origin
+ * loading a page with the response header `Accept-CH: device-memory` via a
+ particular method:
+ * Navigation (via window.open)
+ * Subresource (via fetch)
+ * iframe (added via js)
+ * Navigates to another page to check if the device-memory client hint was sent
+ with the next request
+
+Each test is in a separate file to ensure that the browser and it's state is
+properly reset between each test.
diff --git a/tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/resources/accept-ch-test.js b/tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/resources/accept-ch-test.js
index 0ee5059cb67..46b499a5e41 100644
--- a/tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/resources/accept-ch-test.js
+++ b/tests/wpt/web-platform-tests/client-hints/accept-ch-stickiness/resources/accept-ch-test.js
@@ -6,16 +6,13 @@ const do_not_expect = "/client-hints/accept-ch-stickiness/resources/do-not-expec
const host_info = get_host_info();
const run_test = test => {
- // Test is marked as tentative until https://github.com/whatwg/fetch/issues/726
- // is resolved.
-
// First, verify the initial state to make sure that the browser does not have
// client hints preferences cached from a previous run of the test.
promise_test(t => {
return fetch(test.initial_url).then(r => {
assert_equals(r.status, 200)
// Verify that the browser did not include client hints in the request
- // headers when fetching echo_client_hints_received.py.
+ // headers when fetching echo-client-hints-received.py.
assert_false(r.headers.has("device-memory-received"),
"device-memory-received");
});
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch.http.html b/tests/wpt/web-platform-tests/client-hints/accept_ch.http.html
deleted file mode 100644
index 50d77646f89..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch.http.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<html>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<script>
-
-// When the response for the HTML file contains "Accept-CH" in the response
-// headers, then the browser should not attach the specified client hints in
-// the HTTP request headers if the response was delivered by an insecure HTTP
-// server. Test this functionality by fetching an XHR from this page hosted on
-// an insecure HTTP server. The response headers for this page include
-// "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
-//
-// echo_client_hints_received.py sets the response headers depending on the set
-// of client hints it receives in the request headers.
-
- promise_test(t => {
- return fetch("/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser does not include client hints in the headers
- // when fetching the XHR from an insecure HTTP server.
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- });
-}, "Accept-CH header test");
-
-</script>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.https.html b/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.https.html
deleted file mode 100644
index 0f8b525576e..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.https.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<title>Accept-CH test</title>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<!--
-Apart from this webpage, the test opens two more html web page. One test is run
-in this web page, and two in the other web pages.
--->
-
-<script>
-
-// This test fetches resources/accept_ch.html. The response headers to
-// that webpage contains only the Accept-CH header. These preferences should be
-// stored so that the next request to the same origin is sent with the
-// requested client hint headers.
-
-// Next, to verify that the origin preferences were persisted by the user
-// agent, this test fetches resources/expect_client_hints_headers.html in a new
-// window. Fetching of resources/expect_client_hints_headers.html verifies that
-// the user agent does send the client hints in the request headers.
-
-// Test is marked as tentative until https://github.com/whatwg/fetch/issues/726
-// is resolved.
-
-// First, verify the initial state to make sure that the browser does not have
-// client hints preferences cached from a previous run of the test.
-promise_test(t => {
- return fetch("echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser did not include client hints in the request
- // headers when fetching echo_client_hints_received.py.
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- });
-}, "Precondition: Test that the browser does not have client hints preferences cached");
-
-async_test(t => {
- window.addEventListener('message', t.step_func(function(e) {
- if(!e.source.location.pathname.includes("expect_client_hints_headers.html")) {
- return;
- }
- if(typeof e.data != "string")
- return;
- assert_equals(e.data, "PASS");
- t.done();
- }));
-}, "Loading of resources/expect_client_hints_headers.html did not finish.");
-
-function acceptChLoaded() {
- // Open a new window. Verify that the user agent does not attach the client
- // hints.
- var verify_win = window.open("resources/expect_client_hints_headers.html");
- assert_not_equals(verify_win, null, "Popup windows not allowed?");
-}
-
-// Fetching this webpage should NOT cause user-agent to persist client hint
-// preferences for the origin.
-var win = window.open("resources/accept_ch.html");
-assert_not_equals(win, null, "Popup windows not allowed?");
-win.addEventListener('load', acceptChLoaded, false);
-
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.sub.https.html b/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.sub.https.html
deleted file mode 100644
index 43c1fb12c20..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch.tentative.sub.https.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<html>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<script>
-
-// If the response for the HTML file contains "Accept-CH" in the response
-// headers, then the browser should attach the specified client hints in the
-// HTTP request headers depending on whether the resource is being fetched from
-// the same origin or a different origin. Test this functionality by fetching
-// same-origin and cross-origin resources from this page. The response headers
-// for this page include "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
-//
-// echo_client_hints_received.py sets the response headers depending on the set
-// of client hints it receives in the request headers.
-
-promise_test(t => {
- return fetch("https://{{domains[]}}:{{ports[https][0]}}/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser includes client hints in the headers for a
- // same-origin fetch.
- assert_true(r.headers.has("device-memory-received"), "device-memory-received");
- assert_true(r.headers.has("dpr-received"), "dpr-received");
- assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
-
- assert_true(r.headers.has("rtt-received"), "rtt-received");
- var rtt = parseInt(r.headers.get("rtt-received"));
- assert_greater_than_equal(rtt, 0);
- assert_less_than_equal(rtt, 3000);
- assert_equals(rtt % 50, 0, 'rtt must be a multiple of 50 msec');
-
- assert_true(r.headers.has("downlink-received"), "downlink-received");
- var downlinkKbps = r.headers.get("downlink-received") * 1000;
- assert_greater_than_equal(downlinkKbps, 0);
- assert_less_than_equal(downlinkKbps, 10000);
-
- assert_in_array(r.headers.get("ect-received"), ["slow-2g", "2g",
- "3g", "4g"], 'ect-received is unexpected');
- });
-}, "Accept-CH header test");
-
-promise_test(t => {
- return fetch("https://{{domains[www]}}:{{ports[https][0]}}/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser does not include client hints in the headers
- // for a cross-origin fetch.
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- });
-}, "Cross-Origin Accept-CH header test");
-
-
-
-</script>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_feature_policy.tentative.sub.https.html b/tests/wpt/web-platform-tests/client-hints/accept_ch_feature_policy.tentative.sub.https.html
deleted file mode 100644
index 1df308ab2f8..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch_feature_policy.tentative.sub.https.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/common/get-host-info.sub.js"></script>
-<script>
-
-// If the response for the HTML file contains "Accept-CH" in the response
-// headers, then the browser should attach the specified client hints in the
-// HTTP request headers depending on whether the resource is being fetched from
-// the same origin or a different origin. Test this functionality by fetching
-// same-origin and cross-origin resources from this page. The response headers
-// for this page include "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
-//
-// echo_client_hints_received.py sets the response headers depending on the set
-// of client hints it receives in the request headers.
-
-promise_test(t => {
- return fetch(get_host_info()["HTTPS_ORIGIN"] + "/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser includes client hints in the headers for a
- // same-origin fetch which not specifically excluded via Feature-Policy.
- assert_true(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("lang-received"), "lang-received");
- assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
-
- assert_true(r.headers.has("rtt-received"), "rtt-received");
- var rtt = parseInt(r.headers.get("rtt-received"));
- assert_greater_than_equal(rtt, 0);
- assert_less_than_equal(rtt, 3000);
- assert_equals(rtt % 50, 0, 'rtt must be a multiple of 50 msec');
-
- assert_true(r.headers.has("downlink-received"), "downlink-received");
- var downlinkKbps = r.headers.get("downlink-received") * 1000;
- assert_greater_than_equal(downlinkKbps, 0);
- assert_less_than_equal(downlinkKbps, 10000);
-
- assert_in_array(r.headers.get("ect-received"), ["slow-2g", "2g",
- "3g", "4g"], 'ect-received is unexpected');
-
- assert_true(r.headers.has("mobile-received"));
- assert_in_array(r.headers.get("mobile-received"), ["?0", "?1"], 'mobile is unexpected');
- });
-}, "Accept-CH header test");
-
-promise_test(t => {
- return fetch(get_host_info()["HTTPS_REMOTE_ORIGIN"] + "/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser includes client hints in the headers for a
- // cross-origin fetch which are specifically requested via Feature-Policy.
- assert_true(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("lang-received"), "lang-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- assert_false(r.headers.has("mobile-received"), "mobile-received");
- });
-}, "Cross-Origin Accept-CH header test");
-
-
-
-</script>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html b/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html
deleted file mode 100644
index 70ccab8c80d..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<html>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<script>
-
-promise_test(t => {
- return fetch("/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser does not include client hints in the headers
- // since Accept-CH is malformed (includes whitespace between attributes
- // instead of comma).
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- });
-}, "Accept-CH header test");
-
-</script>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_no_feature_policy.tentative.sub.https.html b/tests/wpt/web-platform-tests/client-hints/accept_ch_no_feature_policy.tentative.sub.https.html
deleted file mode 100644
index 02fbf8975b8..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/accept_ch_no_feature_policy.tentative.sub.https.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<html>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/common/get-host-info.sub.js"></script>
-<script>
-
-// If the response for the HTML file contains "Accept-CH" in the response
-// headers, then the browser should attach the specified client hints in the
-// HTTP request headers depending on whether the resource is being fetched from
-// the same origin or a different origin. Test this functionality by fetching
-// same-origin and cross-origin resources from this page. The response headers
-// for this page include "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
-//
-// echo_client_hints_received.py sets the response headers depending on the set
-// of client hints it receives in the request headers.
-
-promise_test(t => {
- return fetch(get_host_info()["HTTPS_ORIGIN"] + "/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser includes client hints in the headers for a
- // same-origin fetch with the default feature policy in place.
- assert_true(r.headers.has("device-memory-received"), "device-memory-received");
- assert_true(r.headers.has("dpr-received"), "dpr-received");
- assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
-
- assert_true(r.headers.has("rtt-received"), "rtt-received");
- var rtt = parseInt(r.headers.get("rtt-received"));
- assert_greater_than_equal(rtt, 0);
- assert_less_than_equal(rtt, 3000);
- assert_equals(rtt % 50, 0, 'rtt must be a multiple of 50 msec');
-
- assert_true(r.headers.has("downlink-received"), "downlink-received");
- var downlinkKbps = r.headers.get("downlink-received") * 1000;
- assert_greater_than_equal(downlinkKbps, 0);
- assert_less_than_equal(downlinkKbps, 10000);
-
- assert_in_array(r.headers.get("ect-received"), ["slow-2g", "2g",
- "3g", "4g"], 'ect-received is unexpected');
- });
-}, "Accept-CH header test");
-
-promise_test(t => {
- return fetch(get_host_info()["HTTPS_REMOTE_ORIGIN"] + "/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser includes no client hints in the headers for a
- // cross-origin fetch with the default feature policy in place.
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- });
-}, "Cross-Origin Accept-CH header test");
-
-
-
-</script>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/echo_client_hints_received.py b/tests/wpt/web-platform-tests/client-hints/echo_client_hints_received.py
deleted file mode 100644
index 7427a3878e1..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/echo_client_hints_received.py
+++ /dev/null
@@ -1,26 +0,0 @@
-def main(request, response):
- """
- Simple handler that sets a response header based on which client hint
- request headers were received.
- """
-
- response.headers.append("Access-Control-Allow-Origin", "*")
- response.headers.append("Access-Control-Allow-Headers", "*")
- response.headers.append("Access-Control-Expose-Headers", "*")
-
- if "device-memory" in request.headers:
- response.headers.set("device-memory-received", request.headers.get("device-memory"))
- if "dpr" in request.headers:
- response.headers.set("dpr-received", request.headers.get("dpr"))
- if "viewport-width" in request.headers:
- response.headers.set("viewport-width-received", request.headers.get("viewport-width"))
- if "rtt" in request.headers:
- response.headers.set("rtt-received", request.headers.get("rtt"))
- if "downlink" in request.headers:
- response.headers.set("downlink-received", request.headers.get("downlink"))
- if "ect" in request.headers:
- response.headers.set("ect-received", request.headers.get("ect"))
- if "Sec-CH-Lang" in request.headers:
- response.headers.set("lang-received", request.headers.get("Sec-CH-Lang"))
- if "sec-ch-ua-mobile" in request.headers:
- response.headers.set("mobile-received", request.headers.get("sec-ch-ua-mobile"))
diff --git a/tests/wpt/web-platform-tests/client-hints/echo_ua_client_hints_received.py b/tests/wpt/web-platform-tests/client-hints/echo_ua_client_hints_received.py
deleted file mode 100644
index a713047ede6..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/echo_ua_client_hints_received.py
+++ /dev/null
@@ -1,26 +0,0 @@
-def main(request, response):
- """
- Simple handler that sets a response header based on which client hint
- request headers were received.
- """
-
- response.headers.append("Access-Control-Allow-Origin", "*")
- response.headers.append("Access-Control-Allow-Headers", "*")
- response.headers.append("Access-Control-Expose-Headers", "*")
-
- client_hint_headers = [
- "sec-ch-ua",
- "sec-ch-ua-arch",
- "sec-ch-ua-platform",
- "sec-ch-ua-model",
- ]
-
- request_client_hints = {i:request.headers.get(i) for i in client_hint_headers}
-
- for header in client_hint_headers:
- if request_client_hints[header] is not None:
- response.headers.set(header+"-recieved", request_client_hints[header])
-
- headers = []
- content = ""
- return 200, headers, content
diff --git a/tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-malformed-header.https.html b/tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-malformed-header.https.html
new file mode 100644
index 00000000000..d7c6b8dfb06
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-malformed-header.https.html
@@ -0,0 +1,28 @@
+<html>
+<meta http-equiv="Accept-CH" content="DPR Width">
+<title>Accept-CH malformed http-equiv test</title>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+
+promise_test(t => {
+ return fetch("/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser does not include client hints in the headers
+ // since Accept-CH value in http-equiv is malformed (includes whitespace
+ // between attributes instead of comma).
+ assert_false(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ assert_false(r.headers.has("rtt-received"), "rtt-received");
+ assert_false(r.headers.has("downlink-received"), "downlink-received");
+ assert_false(r.headers.has("ect-received"), "ect-received");
+ });
+}, "Accept-CH malformed http-equiv test");
+
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-non-secure.http.html b/tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-non-secure.http.html
new file mode 100644
index 00000000000..909ab5f5f2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/http-equiv-accept-ch-non-secure.http.html
@@ -0,0 +1,36 @@
+<html>
+<meta http-equiv="Accept-CH" content="DPR, Width, Viewport-Width, Device-Memory, rtt, downlink, ect, lang">
+<title>Accept-CH http-equiv insecure transport test</title>
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+
+// Even though this HTML file contains "Accept-CH" http-equiv headers, the
+// browser should NOT attach the specified client hints in the HTTP request
+// headers since the page is being fetched over an insecure transport.
+// Test this functionality by fetching an XHR from this page hosted on
+// an insecure HTTP server.
+
+// resources/echo-client-hints-received.py sets the response headers depending on the set
+// of client hints it receives in the request headers.
+
+promise_test(t => {
+ return fetch("/client-hints/resources/echo-client-hints-received.py").then(r => {
+ assert_equals(r.status, 200)
+ // Verify that the browser does not include client hints in the headers
+ // when fetching the XHR from an insecure HTTP server.
+ assert_false(r.headers.has("device-memory-received"), "device-memory-received");
+ assert_false(r.headers.has("dpr-received"), "dpr-received");
+ assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
+ assert_false(r.headers.has("rtt-received"), "rtt-received");
+ assert_false(r.headers.has("downlink-received"), "downlink-received");
+ assert_false(r.headers.has("ect-received"), "ect-received");
+ assert_false(r.headers.has("lang-received"), "lang-received");
+ });
+}, "Accept-CH http-equiv test over insecure transport");
+
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.http.html b/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.http.html
deleted file mode 100644
index 03c5799908b..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.http.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html>
-<meta http-equiv="Accept-CH" content="DPR, Width, Viewport-Width, Device-Memory, rtt, downlink, ect, lang">
-<title>Accept-CH http-equiv insecure transport test</title>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<script>
-
-// Even though this HTML file contains "Accept-CH" http-equiv headers, the
-// browser should NOT attach the specified client hints in the HTTP request
-// headers since the page is being fetched over an insecure transport.
-// Test this functionality by fetching an XHR from this page hosted on
-// an insecure HTTP server.
-
-// echo_client_hints_received.py sets the response headers depending on the set
-// of client hints it receives in the request headers.
-
-promise_test(t => {
- return fetch("/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser does not include client hints in the headers
- // when fetching the XHR from an insecure HTTP server.
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- assert_false(r.headers.has("lang-received"), "lang-received");
- });
-}, "Accept-CH http-equiv test over insecure transport");
-
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.https.html b/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.https.html
deleted file mode 100644
index 2830cb714fa..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.https.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>
-<meta http-equiv="Accept-CH" content="DPR, Width, Viewport-Width, Device-Memory, rtt, downlink, ect, lang">
-<title>Accept-CH http-equiv cross-navigation test</title>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<div id=test>
- <p>Apart from this webpage, the test opens another html web page. One test
- is run in this web page, and another in the second web page.
-</div>
-
-<script>
-
-// This test contains accept-ch http-equiv header. The user-agent should
-// persist origin preferences for the client hints specified in Accept-CH
-// header.
-
-// Next, to verify that the origin preferences were persisted by the user
-// agent, this test fetches resources/do_not_expect_client_hints_headers.html
-// in a new window. Fetching of
-// resources/do_not_expect_client_hints_headers.html verifies that the user
-// agent does not send the client hints in the request headers.
-
-// Test is marked as tentative until https://github.com/whatwg/fetch/issues/726
-// is resolved.
-promise_test(t => {
- return fetch("echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser includes client hints in the request
- // headers when fetching echo_client_hints_received.py within this page.
- assert_true(r.headers.has("device-memory-received"), "device-memory-received");
- });
-}, "Test that the browser attaches client hints on subresources in the same navigation");
-
-// Verify that the browser does not attach client hints on resources in a
-// different navigation. This verifies that the client hint preferences were
-// not persisted for the origin.
-window.open("resources/expect_client_hints_headers.html");
-async_test(t => {
- window.addEventListener('message', t.step_func_done(e => {
- assert_equals(e.data, 'PASS');
- }));
-}, "Loading of resources/expect_client_hints_headers.html did not finish.");
-
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.sub.https.html b/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.sub.https.html
deleted file mode 100644
index 16617dccaf8..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch.tentative.sub.https.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<meta http-equiv="Accept-CH" content="DPR, Width, Viewport-Width, Device-Memory, rtt, downlink, ect, lang">
-<title>Accept-CH http-equiv same-origin and cross-origin test</title>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<script>
-
-// Since this HTML file contains "Accept-CH" http-equiv headers the browser
-// should attach the specified client hints in the HTTP request headers
-// depending on whether the resource is being fetched from
-// the same origin or a different origin. Test this functionality by fetching
-// same-origin and cross-origin resources from this page.
-//
-// echo_client_hints_received.py sets the response headers depending on the set
-// of client hints it receives in the request headers.
-
-promise_test(t => {
- return fetch("https://{{domains[]}}:{{ports[https][0]}}/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser includes client hints in the headers for a
- // same-origin fetch.
- assert_true(r.headers.has("device-memory-received"), "device-memory-received");
- assert_true(r.headers.has("dpr-received"), "dpr-received");
- assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
-
- assert_true(r.headers.has("rtt-received"), "rtt-received");
- var rtt = parseInt(r.headers.get("rtt-received"));
- assert_greater_than_equal(rtt, 0);
- assert_less_than_equal(rtt, 3000);
- assert_equals(rtt % 50, 0, 'rtt must be a multiple of 50 msec');
-
- assert_true(r.headers.has("downlink-received"), "downlink-received");
- var downlinkKbps = r.headers.get("downlink-received") * 1000;
- assert_greater_than_equal(downlinkKbps, 0);
- assert_less_than_equal(downlinkKbps, 10000);
-
- assert_in_array(r.headers.get("ect-received"), ["slow-2g", "2g",
- "3g", "4g"], 'ect-received is unexpected');
-
- assert_true(r.headers.has("lang-received"), "lang-received");
- });
-}, "Same origin Accept-CH http-equiv test");
-
-promise_test(t => {
- return fetch("https://{{domains[www]}}:{{ports[https][0]}}/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser does not include client hints in the headers
- // for a cross-origin fetch.
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- assert_false(r.headers.has("lang-received"), "lang-received");
- });
-}, "Cross-Origin Accept-CH http-equiv test");
-
-
-
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch_malformed_header.tentative.https.html b/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch_malformed_header.tentative.https.html
deleted file mode 100644
index dd516a97c96..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/http_equiv_accept_ch_malformed_header.tentative.https.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<html>
-<meta http-equiv="Accept-CH" content="DPR Width">
-<title>Accept-CH malformed http-equiv test</title>
-<body>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<script>
-
-promise_test(t => {
- return fetch("/client-hints/echo_client_hints_received.py").then(r => {
- assert_equals(r.status, 200)
- // Verify that the browser does not include client hints in the headers
- // since Accept-CH value in http-equiv is malformed (includes whitespace
- // between attributes instead of comma).
- assert_false(r.headers.has("device-memory-received"), "device-memory-received");
- assert_false(r.headers.has("dpr-received"), "dpr-received");
- assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
- assert_false(r.headers.has("rtt-received"), "rtt-received");
- assert_false(r.headers.has("downlink-received"), "downlink-received");
- assert_false(r.headers.has("ect-received"), "ect-received");
- });
-}, "Accept-CH malformed http-equiv test");
-
-</script>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html
new file mode 100644
index 00000000000..05cc0b61b07
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html
@@ -0,0 +1,11 @@
+<html>
+<body>
+
+<!-- An empty webpage whose response headers include only the
+Accept-CH header. Fetching this webpage not cause
+user-agent to persist origin preferences for the client hints
+specified in the Accept-CH header. (This test sends a viewport-width
+preference instead of the device-memory preference)-->
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html.headers b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html.headers
new file mode 100644
index 00000000000..255a362f0bf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-different.html.headers
@@ -0,0 +1,2 @@
+Accept-CH: viewport-width
+Access-Control-Allow-Origin: *
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html
new file mode 100644
index 00000000000..27393e5a1ab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html
@@ -0,0 +1,11 @@
+<html>
+<body>
+
+<!-- An empty webpage whose response headers include only the
+Accept-CH header. Fetching this webpage should cause
+user-agent to persist origin preferences for the client hints
+specified in the Accept-CH header until the origin data is
+cleared.-->
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html.headers b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html.headers
new file mode 100644
index 00000000000..25215abdf73
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch-empty.html.headers
@@ -0,0 +1,2 @@
+Accept-CH:
+Access-Control-Allow-Origin: *
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html
new file mode 100644
index 00000000000..1f1da26cebe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html
@@ -0,0 +1,10 @@
+<html>
+<body>
+
+<!-- An empty webpage whose response headers include only the
+Accept-CH header. Fetching this webpage should cause
+user-agent to persist origin preferences for the client hints
+specified in the Accept-CH header.-->
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html.headers b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html.headers
new file mode 100644
index 00000000000..833b8d0e4c2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/accept-ch.html.headers
@@ -0,0 +1,2 @@
+Accept-CH: device-memory
+Access-Control-Allow-Origin: *
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html b/tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html
deleted file mode 100644
index 48d09f2d95c..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<body>
-
-<!-- An empty webpage whose response headers include only the
-Accept-CH header. Fetching this webpage should not cause
-user-agent to persist origin preferences for the client hints
-specified in the Accept-CH header.-->
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html.headers b/tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html.headers
deleted file mode 100644
index 91ee40652f0..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/resources/accept_ch.html.headers
+++ /dev/null
@@ -1 +0,0 @@
-Accept-CH: device-memory
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/echo-client-hints-received.py b/tests/wpt/web-platform-tests/client-hints/resources/echo-client-hints-received.py
new file mode 100644
index 00000000000..d978754a205
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/echo-client-hints-received.py
@@ -0,0 +1,26 @@
+def main(request, response):
+ """
+ Simple handler that sets a response header based on which client hint
+ request headers were received.
+ """
+
+ response.headers.append("Access-Control-Allow-Origin", "*")
+ response.headers.append("Access-Control-Allow-Headers", "*")
+ response.headers.append("Access-Control-Expose-Headers", "*")
+
+ if "device-memory" in request.headers:
+ response.headers.set("device-memory-received", request.headers.get("device-memory"))
+ if "dpr" in request.headers:
+ response.headers.set("dpr-received", request.headers.get("dpr"))
+ if "viewport-width" in request.headers:
+ response.headers.set("viewport-width-received", request.headers.get("viewport-width"))
+ if "rtt" in request.headers:
+ response.headers.set("rtt-received", request.headers.get("rtt"))
+ if "downlink" in request.headers:
+ response.headers.set("downlink-received", request.headers.get("downlink"))
+ if "ect" in request.headers:
+ response.headers.set("ect-received", request.headers.get("ect"))
+ if "Sec-CH-Lang" in request.headers:
+ response.headers.set("lang-received", request.headers.get("Sec-CH-Lang"))
+ if "sec-ch-ua-mobile" in request.headers:
+ response.headers.set("mobile-received", request.headers.get("sec-ch-ua-mobile"))
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/echo-ua-client-hints-received.py b/tests/wpt/web-platform-tests/client-hints/resources/echo-ua-client-hints-received.py
new file mode 100644
index 00000000000..9cf1f8e32ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/echo-ua-client-hints-received.py
@@ -0,0 +1,26 @@
+def main(request, response):
+ """
+ Simple handler that sets a response header based on which client hint
+ request headers were received.
+ """
+
+ response.headers.append("Access-Control-Allow-Origin", "*")
+ response.headers.append("Access-Control-Allow-Headers", "*")
+ response.headers.append("Access-Control-Expose-Headers", "*")
+
+ client_hint_headers = [
+ "sec-ch-ua",
+ "sec-ch-ua-arch",
+ "sec-ch-ua-platform",
+ "sec-ch-ua-model",
+ ]
+
+ request_client_hints = {i: request.headers.get(i) for i in client_hint_headers}
+
+ for header in client_hint_headers:
+ if request_client_hints[header] is not None:
+ response.headers.set(header + "-recieved", request_client_hints[header])
+
+ headers = []
+ content = ""
+ return 200, headers, content
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/expect-client-hints-headers.html b/tests/wpt/web-platform-tests/client-hints/resources/expect-client-hints-headers.html
new file mode 100644
index 00000000000..1c2062ec6c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/expect-client-hints-headers.html
@@ -0,0 +1,22 @@
+<html>
+<body>
+<script>
+
+// This test checks if browser attaches the device-memory client hint in the
+// HTTP request headers.
+
+// resources/echo-client-hints-received.py sets the response headers depending on the set
+// of client hints it receives in the request headers.
+
+fetch("../resources/echo-client-hints-received.py").then(r => {
+ if(r.status == 200 && r.headers.has("device-memory-received")) {
+ window.top.opener.postMessage('PASS', '*');
+ }
+ else {
+ window.top.opener.postMessage('FAIL', '*');
+ }
+});
+
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/expect-different-client-hints-headers.html b/tests/wpt/web-platform-tests/client-hints/resources/expect-different-client-hints-headers.html
new file mode 100644
index 00000000000..951781124a2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/expect-different-client-hints-headers.html
@@ -0,0 +1,22 @@
+<html>
+<body>
+<script>
+
+// This test checks if browser attaches the viewport-width client hint in the
+// HTTP request headers.
+
+// resources/echo-client-hints-received.py sets the response headers depending on the set
+// of client hints it receives in the request headers.
+
+fetch("../resources/echo-client-hints-received.py").then(r => {
+ if(r.status == 200 && r.headers.has("viewport-width-received")) {
+ window.top.opener.postMessage('PASS', '*');
+ }
+ else {
+ window.top.opener.postMessage('FAIL', '*');
+ }
+});
+
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/expect_client_hints_headers.html b/tests/wpt/web-platform-tests/client-hints/resources/expect_client_hints_headers.html
deleted file mode 100644
index 8e64b1989ab..00000000000
--- a/tests/wpt/web-platform-tests/client-hints/resources/expect_client_hints_headers.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<html>
-<body>
-<script>
-
-// This test checks if browser attaches the device-memory client hint in the
-// HTTP request headers.
-
-// echo_client_hints_received.py sets the response headers depending on the set
-// of client hints it receives in the request headers.
-
-fetch("../echo_client_hints_received.py").then(r => {
- if(r.status == 200 && r.headers.has("device-memory-received")) {
- window.top.opener.postMessage('PASS', '*');
- }
- else {
- window.top.opener.postMessage('FAIL', '*');
- }
-});
-
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/client-hints/resources/open-and-add-load-event.js b/tests/wpt/web-platform-tests/client-hints/resources/open-and-add-load-event.js
new file mode 100644
index 00000000000..7100c3f48a5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/client-hints/resources/open-and-add-load-event.js
@@ -0,0 +1,9 @@
+function open_and_add_load_event(href, func) {
+ // While not practically possible, opening "blank" first and setting the
+ // href after allows for the theoretical possibility of registering the event
+ // after the window is loaded.
+ let popup_window = window.open("about:blank");
+ assert_not_equals(popup_window, null, "Popup windows not allowed?");
+ popup_window.addEventListener('load', func, false);
+ popup_window.location.href=href;
+} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/client-hints/sec-ch-quotes.https.html b/tests/wpt/web-platform-tests/client-hints/sec-ch-quotes.https.html
index 86dce18904b..edf4fce785e 100644
--- a/tests/wpt/web-platform-tests/client-hints/sec-ch-quotes.https.html
+++ b/tests/wpt/web-platform-tests/client-hints/sec-ch-quotes.https.html
@@ -14,12 +14,13 @@ promise_test(async (test) => {
"sec-ch-ua-model",
];
- const response = await fetch(`echo_ua_client_hints_received.py`);
+ const response = await fetch("resources/echo-ua-client-hints-received.py");
client_hint_headers.forEach(header => {
if(response.headers.get(header+"-recieved")) {
+ // Check that the hints have quotes
assert_equals(response.headers.get(header+"-recieved").slice(0,1), "\"");
assert_equals(response.headers.get(header+"-recieved").slice(-1), "\"");
}
});
}, 'User agent client hint header values are surrounded by quotes');
-</script> \ No newline at end of file
+</script>
diff --git a/tests/wpt/web-platform-tests/clipboard-apis/clipboard-item.https.html b/tests/wpt/web-platform-tests/clipboard-apis/clipboard-item.https.html
index fe5e76ccbb4..3a2ade564c7 100644
--- a/tests/wpt/web-platform-tests/clipboard-apis/clipboard-item.https.html
+++ b/tests/wpt/web-platform-tests/clipboard-apis/clipboard-item.https.html
@@ -19,19 +19,19 @@ test(() => {
}, "ClipboardItem() succeeds with empty options");
test(() => {
- assert_throws(new TypeError(), () => {new ClipboardItem({});});
+ assert_throws_js(TypeError, () => {new ClipboardItem({});});
}, "ClipboardItem({}) fails with empty dictionary input");
test(() => {
- assert_throws(new TypeError(), () => {new ClipboardItem(blob);});
+ assert_throws_js(TypeError, () => {new ClipboardItem(blob);});
}, "ClipboardItem(Blob) fails");
test(() => {
- assert_throws(new TypeError(), () => {new ClipboardItem(null);});
+ assert_throws_js(TypeError, () => {new ClipboardItem(null);});
}, "ClipboardItem() fails with null input");
test(() => {
- assert_throws(new TypeError(), () => {new ClipboardItem();});
+ assert_throws_js(TypeError, () => {new ClipboardItem();});
}, "ClipboardItem() fails with no input");
test(() => {
diff --git a/tests/wpt/web-platform-tests/common/stringifiers.js b/tests/wpt/web-platform-tests/common/stringifiers.js
index b59ca9c246f..63544f9ed00 100644
--- a/tests/wpt/web-platform-tests/common/stringifiers.js
+++ b/tests/wpt/web-platform-tests/common/stringifiers.js
@@ -3,7 +3,7 @@ function test_stringifier_attribute(aObject, aAttribute, aIsUnforgeable) {
// Step 1.
test(function() {
[null, undefined].forEach(function(v) {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
aObject.toString.call(v);
});
});
@@ -15,7 +15,7 @@ function test_stringifier_attribute(aObject, aAttribute, aIsUnforgeable) {
test(function() {
assert_false("Window" in window && aObject instanceof window.Window);
[{}, window].forEach(function(v) {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
aObject.toString.call(v)
});
});
diff --git a/tests/wpt/web-platform-tests/common/test-setting-immutable-prototype.js b/tests/wpt/web-platform-tests/common/test-setting-immutable-prototype.js
index de619b1d766..de9bdd5919a 100644
--- a/tests/wpt/web-platform-tests/common/test-setting-immutable-prototype.js
+++ b/tests/wpt/web-platform-tests/common/test-setting-immutable-prototype.js
@@ -1,5 +1,6 @@
self.testSettingImmutablePrototypeToNewValueOnly =
- (prefix, target, newValue, newValueString, { isSameOriginDomain }) => {
+ (prefix, target, newValue, newValueString, { isSameOriginDomain },
+ targetGlobal = window) => {
test(() => {
assert_throws_js(TypeError, () => {
Object.setPrototypeOf(target, newValue);
@@ -9,14 +10,21 @@ self.testSettingImmutablePrototypeToNewValueOnly =
let dunderProtoError = "SecurityError";
let dunderProtoErrorName = "\"SecurityError\" DOMException";
if (isSameOriginDomain) {
- dunderProtoError = new TypeError();
+ // We're going to end up calling the __proto__ setter, which will
+ // enter the Realm of targetGlobal before throwing.
+ dunderProtoError = targetGlobal.TypeError;
dunderProtoErrorName = "TypeError";
}
test(() => {
- assert_throws(dunderProtoError, function() {
+ const func = function() {
target.__proto__ = newValue;
- });
+ };
+ if (isSameOriginDomain) {
+ assert_throws_js(dunderProtoError, func);
+ } else {
+ assert_throws_dom(dunderProtoError, func);
+ }
}, `${prefix}: setting the prototype to ${newValueString} via __proto__ should throw a ${dunderProtoErrorName}`);
test(() => {
@@ -25,8 +33,10 @@ self.testSettingImmutablePrototypeToNewValueOnly =
};
self.testSettingImmutablePrototype =
- (prefix, target, originalValue, { isSameOriginDomain }, newValue = {}, newValueString = "an empty object") => {
- testSettingImmutablePrototypeToNewValueOnly(prefix, target, newValue, newValueString, { isSameOriginDomain });
+ (prefix, target, originalValue, { isSameOriginDomain }, targetGlobal = window) => {
+ const newValue = {};
+ const newValueString = "an empty object";
+ testSettingImmutablePrototypeToNewValueOnly(prefix, target, newValue, newValueString, { isSameOriginDomain }, targetGlobal);
const originalValueString = originalValue === null ? "null" : "its original value";
@@ -44,7 +54,7 @@ self.testSettingImmutablePrototype =
}, `${prefix}: setting the prototype to ${originalValueString} via __proto__ should not throw`);
} else {
test(() => {
- assert_throws("SecurityError", function() {
+ assert_throws_dom("SecurityError", function() {
target.__proto__ = newValue;
});
}, `${prefix}: setting the prototype to ${originalValueString} via __proto__ should throw a "SecurityError" since ` +
diff --git a/tests/wpt/web-platform-tests/compression/compression-stream.tentative.any.js b/tests/wpt/web-platform-tests/compression/compression-stream.tentative.any.js
index 47df70f7cd3..cf645c41c72 100644
--- a/tests/wpt/web-platform-tests/compression/compression-stream.tentative.any.js
+++ b/tests/wpt/web-platform-tests/compression/compression-stream.tentative.any.js
@@ -33,7 +33,7 @@ async function compressArrayBuffer(input, format) {
}
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
const transformer = new CompressionStream("nonvalid");
}, "non supported format should throw");
}, "CompressionStream constructor should throw on invalid format");
diff --git a/tests/wpt/web-platform-tests/compression/decompression-constructor-error.tentative.any.js b/tests/wpt/web-platform-tests/compression/decompression-constructor-error.tentative.any.js
index 9ffdb08ce2f..7840b3a36cd 100644
--- a/tests/wpt/web-platform-tests/compression/decompression-constructor-error.tentative.any.js
+++ b/tests/wpt/web-platform-tests/compression/decompression-constructor-error.tentative.any.js
@@ -3,13 +3,13 @@
'use strict';
test(t => {
- assert_throws(new TypeError(), () => new DecompressionStream('a'), 'constructor should throw');
+ assert_throws_js(TypeError, () => new DecompressionStream('a'), 'constructor should throw');
}, '"a" should cause the constructor to throw');
test(t => {
- assert_throws(new TypeError(), () => new DecompressionStream(), 'constructor should throw');
+ assert_throws_js(TypeError, () => new DecompressionStream(), 'constructor should throw');
}, 'no input should cause the constructor to throw');
test(t => {
- assert_throws(new Error(), () => new DecompressionStream({ toString() { throw Error(); } }), 'constructor should throw');
+ assert_throws_js(Error, () => new DecompressionStream({ toString() { throw Error(); } }), 'constructor should throw');
}, 'non-string input should cause the constructor to throw');
diff --git a/tests/wpt/web-platform-tests/console/console-label-conversion.any.js b/tests/wpt/web-platform-tests/console/console-label-conversion.any.js
index 1fb269d4061..4d48df3b1d0 100644
--- a/tests/wpt/web-platform-tests/console/console-label-conversion.any.js
+++ b/tests/wpt/web-platform-tests/console/console-label-conversion.any.js
@@ -18,7 +18,7 @@ for (const method of methods) {
}, `console.${method}()'s label gets converted to string via label.toString() when label is an object`);
test(() => {
- assert_throws({name: 'Error'}, () => {
+ assert_throws_js(Error, () => {
console[method]({
toString() {
throw new Error('conversion error');
diff --git a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js
index 3b84db08522..238daef65d2 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js
+++ b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js
@@ -129,7 +129,7 @@ function assert_iframe_with_csp(t, url, csp, shouldBlock, urlId, blockedURI) {
setTimeout(t.step_func_done(function () {
assert_equals(loaded[urlId], undefined);
}), 500);
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
var x = i.contentWindow.location.href;
});
});
diff --git a/tests/wpt/web-platform-tests/content-security-policy/inside-worker/support/script-src-self.sub.js b/tests/wpt/web-platform-tests/content-security-policy/inside-worker/support/script-src-self.sub.js
index b0d557645da..c5733d64cc9 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/inside-worker/support/script-src-self.sub.js
+++ b/tests/wpt/web-platform-tests/content-security-policy/inside-worker/support/script-src-self.sub.js
@@ -3,18 +3,18 @@ importScripts("{{location[server]}}/content-security-policy/support/testharness-
test(t => {
self.a = false;
- assert_throws("NetworkError",
+ assert_throws_dom("NetworkError",
_ => importScripts("http://{{domains[www]}}:{{ports[http][1]}}/content-security-policy/support/var-a.js"),
"importScripts should throw `NetworkError`");
assert_false(self.a);
}, "Cross-origin `importScripts()` blocked in " + self.location.protocol + self.location.search);
test(t => {
- assert_throws(EvalError(),
+ assert_throws_js(EvalError,
_ => eval("1 + 1"),
"`eval()` should throw 'EvalError'.");
- assert_throws(EvalError(),
+ assert_throws_js(EvalError,
_ => new Function("1 + 1"),
"`new Function()` should throw 'EvalError'.");
}, "`eval()` blocked in " + self.location.protocol + self.location.search);
diff --git a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html
index bfc66b2a8d0..4c975471161 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html
@@ -19,7 +19,7 @@
var evalRan = false;
- test(function() {assert_throws(new EvalError(), function() { eval('evalRan = true;') })}, "eval() should throw without 'unsafe-eval' keyword source in script-src directive.");
+ test(function() {assert_throws_js(EvalError, function() { eval('evalRan = true;') })}, "eval() should throw without 'unsafe-eval' keyword source in script-src directive.");
test(function() {assert_false(evalRan);})
diff --git a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4_2.html b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4_2.html
index 0ee6f587c5c..6d6f23e741c 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4_2.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4_2.html
@@ -19,8 +19,8 @@
test(function() {
- assert_throws(
- new EvalError(),
+ assert_throws_js(
+ EvalError,
function() {
var funq = new Function('');
funq();
diff --git a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_eval.html b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_eval.html
index 62fda4f3d23..459d69aefe8 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_eval.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_eval.html
@@ -22,7 +22,7 @@
assert_equals(e.effectiveDirective, 'script-src');
}));
- assert_throws(new Error(),
+ assert_throws_js(Error,
function() {
try {
eval("evalScriptRan = true;");
diff --git a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_new_function.html b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_new_function.html
index 2b75276588f..263d5d1d874 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_new_function.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_new_function.html
@@ -22,7 +22,7 @@
assert_equals(e.effectiveDirective, 'script-src');
}));
- assert_throws(new Error(),
+ assert_throws_js(Error,
function() {
try {
new Function('newFunctionScriptRan = true;')();
diff --git a/tests/wpt/web-platform-tests/content-security-policy/securitypolicyviolation/constructor-required-fields.html b/tests/wpt/web-platform-tests/content-security-policy/securitypolicyviolation/constructor-required-fields.html
index 1260c491fc2..1424cdcd7ff 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/securitypolicyviolation/constructor-required-fields.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/securitypolicyviolation/constructor-required-fields.html
@@ -4,7 +4,7 @@
<script>
// basic tests.
test(function() {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent(); });
}, "SecurityPolicyViolationEvent constructor should throw with no parameters");
@@ -27,7 +27,7 @@
// missing required members
test(function() {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
// documentURI: "http://example.com",
referrer: "http://example.com",
@@ -45,7 +45,7 @@
}, "SecurityPolicyViolationEvent constructor requires documentURI");
test(function() {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
@@ -63,7 +63,7 @@
}, "SecurityPolicyViolationEvent constructor requires violatedDirective");
test(function() {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
@@ -81,7 +81,7 @@
}, "SecurityPolicyViolationEvent constructor requires effectiveDirective");
test(function() {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
@@ -99,7 +99,7 @@
}, "SecurityPolicyViolationEvent constructor requires originalPolicy");
test(function() {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
@@ -117,7 +117,7 @@
}, "SecurityPolicyViolationEvent constructor requires disposition");
test(function() {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
function() { new SecurityPolicyViolationEvent("securitypolicyviolation", {
documentURI: "http://example.com",
referrer: "http://example.com",
diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/testharness-helper.js b/tests/wpt/web-platform-tests/content-security-policy/support/testharness-helper.js
index d475d05115a..c071a689315 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/support/testharness-helper.js
+++ b/tests/wpt/web-platform-tests/content-security-policy/support/testharness-helper.js
@@ -96,7 +96,7 @@ function assert_worker_is_blocked(url, description) {
// TODO(mkwst): We shouldn't be throwing here. We should be firing an
// `error` event on the Worker. https://crbug.com/663298
- assert_throws("SecurityError", function () {
+ assert_throws_dom("SecurityError", function () {
var w = new Worker(url);
});
}, description);
@@ -115,7 +115,7 @@ function assert_shared_worker_is_blocked(url, description) {
// TODO(mkwst): We shouldn't be throwing here. We should be firing an
// `error` event on the SharedWorker. https://crbug.com/663298
- assert_throws("SecurityError", function () {
+ assert_throws_dom("SecurityError", function () {
var w = new SharedWorker(url);
});
}, description);
diff --git a/tests/wpt/web-platform-tests/cors/client-hint-request-headers.htm b/tests/wpt/web-platform-tests/cors/client-hint-request-headers.htm
index 251be668b7d..17fbd3daa3f 100644
--- a/tests/wpt/web-platform-tests/cors/client-hint-request-headers.htm
+++ b/tests/wpt/web-platform-tests/cors/client-hint-request-headers.htm
@@ -15,35 +15,35 @@ test(function() {
client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false)
client.setRequestHeader('x-print', 'unicorn')
client.setRequestHeader('y-print', 'unicorn')
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, 'Unspecified request headers are disallowed')
test(function() {
var client = new XMLHttpRequest()
client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false)
client.setRequestHeader('device-memory', '')
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, 'Unextractable device-memory client hint header is disallowed')
test(function() {
var client = new XMLHttpRequest()
client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false)
client.setRequestHeader('dpr', '')
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, 'Unextractable DPR client hint header is disallowed')
test(function() {
var client = new XMLHttpRequest()
client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false)
client.setRequestHeader('width', '')
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, 'Unextractable width client hint header is disallowed')
test(function() {
var client = new XMLHttpRequest()
client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false)
client.setRequestHeader('viewport-width', '')
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, 'Unextractable viewport-width client hint header is disallowed')
</script>
diff --git a/tests/wpt/web-platform-tests/cors/origin.htm b/tests/wpt/web-platform-tests/cors/origin.htm
index bd7349e486e..3d46002933b 100644
--- a/tests/wpt/web-platform-tests/cors/origin.htm
+++ b/tests/wpt/web-platform-tests/cors/origin.htm
@@ -48,7 +48,7 @@ function shouldFail(origin) {
+ '/resources/cors-makeheader.py?origin='
+ encodeURIComponent(origin),
false)
- assert_throws("NetworkError", function() { client.send() }, 'send')
+ assert_throws_dom("NetworkError", function() { client.send() }, 'send')
}, 'Disallow origin: ' + origin.replace(/\0/g, "\\0"));
}
@@ -112,7 +112,7 @@ function doubleOrigin(origin, origin2) {
+ encodeURIComponent(origin)
+ '&origin2=' + encodeURIComponent(origin2),
false)
- assert_throws("NetworkError", function() { client.send() }, 'send')
+ assert_throws_dom("NetworkError", function() { client.send() }, 'send')
}, 'Disallow multiple headers (' + origin + ', ' + origin2 + ')');
}
diff --git a/tests/wpt/web-platform-tests/cors/request-headers.htm b/tests/wpt/web-platform-tests/cors/request-headers.htm
index 289f402191e..7634eca9fc8 100644
--- a/tests/wpt/web-platform-tests/cors/request-headers.htm
+++ b/tests/wpt/web-platform-tests/cors/request-headers.htm
@@ -48,7 +48,7 @@ test(function() {
client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false)
client.setRequestHeader('x-print', 'unicorn')
client.setRequestHeader('y-print', 'unicorn')
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, 'Unspecified request headers are disallowed')
test(function() {
@@ -65,7 +65,7 @@ test(function() {
test(function() {
var client = new XMLHttpRequest()
- assert_throws('INVALID_STATE_ERR', function() { client.setRequestHeader('x-print', 'unicorn') })
+ assert_throws_dom('INVALID_STATE_ERR', function() { client.setRequestHeader('x-print', 'unicorn') })
},
'INVALID_STATE_ERR on setRequestHeader before open()')
@@ -73,7 +73,7 @@ test(function() {
var client = new XMLHttpRequest()
client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=,y-lol,x-PriNT,%20,,,Y-PRINT', false)
client.send()
- assert_throws('INVALID_STATE_ERR', function() { client.setRequestHeader('x-print', 'unicorn') })
+ assert_throws_dom('INVALID_STATE_ERR', function() { client.setRequestHeader('x-print', 'unicorn') })
},
'INVALID_STATE_ERR on setRequestHeader after send()')
diff --git a/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js b/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js
index e35b7fcb0f9..fcb7ceba205 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js
+++ b/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js
@@ -10,7 +10,7 @@
}, "the event inherts from Event");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new AnimationEvent();
}, 'First argument is required, so was expecting a TypeError.');
}, 'Missing type argument');
@@ -176,37 +176,37 @@
}, "elapsedTime set to an object with a valueOf function");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new AnimationEvent("test", {elapsedTime: NaN});
}, 'elapsedTime cannot be NaN so was expecting a TypeError');
}, "elapsedTime cannot be set to NaN");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new AnimationEvent("test", {elapsedTime: Infinity});
}, 'elapsedTime cannot be Infinity so was expecting a TypeError');
}, "elapsedTime cannot be set to Infinity");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new AnimationEvent("test", {elapsedTime: -Infinity});
}, 'elapsedTime cannot be -Infinity so was expecting a TypeError');
}, "elapsedTime cannot be set to -Infinity");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new AnimationEvent("test", {elapsedTime: "sample"});
}, 'elapsedTime cannot be a string so was expecting a TypeError');
}, "elapsedTime cannot be set to 'sample'");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new AnimationEvent("test", {elapsedTime: [0.5, 1.0]});
}, 'elapsedTime cannot be a multi-element array so was expecting a TypeError');
}, "elapsedTime cannot be set to [0.5, 1.0]");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new AnimationEvent("test", {elapsedTime: { sample: 0.5}});
}, 'elapsedTime cannot be an object so was expecting a TypeError');
}, "elapsedTime cannot be set to an object");
diff --git a/tests/wpt/web-platform-tests/css/css-conditional/js/001.html b/tests/wpt/web-platform-tests/css/css-conditional/js/001.html
index fd9968ded44..5907a492e57 100644
--- a/tests/wpt/web-platform-tests/css/css-conditional/js/001.html
+++ b/tests/wpt/web-platform-tests/css/css-conditional/js/001.html
@@ -200,7 +200,7 @@
test(function(){
var style_rule = document.styleSheets[0].cssRules[0].cssRules[1];
- assert_throws(new TypeError(), function() { style_rule.insertRule("@supports (width: 0) { ol { width: 0; } }", 0);} );
+ assert_throws_js(TypeError, function() { style_rule.insertRule("@supports (width: 0) { ol { width: 0; } }", 0);} );
}, "Inserting an @supports inside a style rule should fail");
test(function(){
diff --git a/tests/wpt/web-platform-tests/css/css-conditional/test_group_insertRule.html b/tests/wpt/web-platform-tests/css/css-conditional/test_group_insertRule.html
index 5326501913d..3818108ac60 100644
--- a/tests/wpt/web-platform-tests/css/css-conditional/test_group_insertRule.html
+++ b/tests/wpt/web-platform-tests/css/css-conditional/test_group_insertRule.html
@@ -34,7 +34,7 @@
"rule_length");
test(function() {
- assert_throws("HIERARCHY_REQUEST_ERR",
+ assert_throws_dom("HIERARCHY_REQUEST_ERR",
function() {
grouping_rule.insertRule("@import url(foo.css);", 0);
},
@@ -43,7 +43,7 @@
"insert_import_throws");
test(function() {
- assert_throws("INDEX_SIZE_ERR",
+ assert_throws_dom("INDEX_SIZE_ERR",
function() {
grouping_rule.insertRule("p { color: green }", 1);
},
@@ -60,7 +60,7 @@
grouping_rule.insertRule("p { color: aqua }", 1);
assert_equals(grouping_rule.cssRules.length, 3,
"Modified cssRules.length of @media rule");
- assert_throws("INDEX_SIZE_ERR",
+ assert_throws_dom("INDEX_SIZE_ERR",
function() {
grouping_rule.insertRule("p { color: green }", 4);
},
@@ -96,7 +96,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("@media bad syntax;", 0);
},
@@ -109,7 +109,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("", 0);
},
@@ -122,7 +122,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("@media print {} foo", 0);
},
@@ -135,7 +135,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("p { color: yellow } foo", 0);
},
@@ -148,7 +148,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("@media print {} @media print {}", 0);
},
@@ -161,7 +161,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("p { color: yellow } @media print {}", 0);
},
@@ -174,7 +174,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("@media print {} p { color: yellow }", 0);
},
@@ -187,7 +187,7 @@
while (grouping_rule.cssRules.length > 0) {
grouping_rule.deleteRule(0);
}
- assert_throws("SYNTAX_ERR",
+ assert_throws_dom("SYNTAX_ERR",
function() {
grouping_rule.insertRule("p { color: yellow } p { color: yellow }", 0);
},
diff --git a/tests/wpt/web-platform-tests/css/css-content/element-replacement-dynamic.html b/tests/wpt/web-platform-tests/css/css-content/element-replacement-dynamic.html
new file mode 100644
index 00000000000..c025759094e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-content/element-replacement-dynamic.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>The content CSS attribute can replace an element's contents dynamically</title>
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
+<link rel="match" href="element-replacement-ref.html" />
+<link rel="help" href="https://drafts.csswg.org/css-content-3/#content-property" />
+<meta name="assert" content"This test checks that the CSS content propertly can replace a normal element's contents when changed dynamically" />
+
+<style>
+#target {
+ content: none;
+}
+#target.replaced {
+ content: url('resources/rect.svg');
+}
+</style>
+
+<div id="target">This text should not be visible</div>
+
+<script>
+const target = document.getElementById("target");
+getComputedStyle(target).width;
+target.className = "replaced";
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/dynamic-change-simplified-layout-002.html b/tests/wpt/web-platform-tests/css/css-flexbox/dynamic-change-simplified-layout-002.html
new file mode 100644
index 00000000000..d419bb3c700
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-flexbox/dynamic-change-simplified-layout-002.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
+<link rel="help" href="https://drafts.csswg.org/css-flexbox/" />
+<meta name="assert" content="Tests that certain dynamic changes don't lead to a flex item being sized as zero, instead of its stretched size." />
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="display: flex; width: 100px; height: 100px; background: red;">
+ <div style="contain: layout size; height: 100px; flex: 1; background: green;">
+ <div id="target"></div>
+ </div>
+</div>
+<script>
+document.body.offsetTop;
+document.getElementById('target').style.width = '1px';
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-synthesis-05.html b/tests/wpt/web-platform-tests/css/css-fonts/font-synthesis-05.html
index bdbc22f9cfc..e521e6c67cf 100644
--- a/tests/wpt/web-platform-tests/css/css-fonts/font-synthesis-05.html
+++ b/tests/wpt/web-platform-tests/css/css-fonts/font-synthesis-05.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>CSS Test: font-synthesis: initial value</title>
<link rel="author" title="Chris Lilley" href="chris@w3.org">
-<link rel="match" href="font-synthesis-03-ref.html">
+<link rel="match" href="font-synthesis-05-ref.html">
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-synthesis-prop">
<meta name="assert" content="This property controls whether user agents are allowed to synthesize bold or oblique font faces">
<style>
diff --git a/tests/wpt/web-platform-tests/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html b/tests/wpt/web-platform-tests/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html
index fed4aa508de..95fbb9c6994 100644
--- a/tests/wpt/web-platform-tests/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html
+++ b/tests/wpt/web-platform-tests/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html
@@ -128,7 +128,7 @@ function testParseFace() {
test(
() => {
var fontFace = new FontFace('testfont', 'url()');
- assert_throws('SyntaxError', () => {
+ assert_throws_dom('SyntaxError', () => {
fontFace[theProperty] = faceTest;
}, 'Value must not be accepted as weight value.');
},
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-align-stretching-replaced-items.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-align-stretching-replaced-items.html
index f9b455d4c16..6ac50527cd4 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-align-stretching-replaced-items.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-align-stretching-replaced-items.html
@@ -35,42 +35,42 @@
<p>This test checks that the alignment properties align-self and justify-self apply the 'stretch' value correctly on replaced elements.</p>
<div style="position: relative">
- <p>The green image's original size is 100px x 100px, default alignment is resolved as 'start' for replaced elements so it prevents stretching to be applied.</p>
+ <p>The blue image's original size is 100px x 100px, default alignment is resolved as 'start' for replaced elements so it prevents stretching to be applied.</p>
<div class="grid">
<img src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/>
</div>
</div>
<div style="position: relative">
- <p>The green image's original size is 100px x 100px, 'normal' is resolved as 'start' for replaced elements so it prevents stretching to be applied.</p>
+ <p>The blue image's original size is 100px x 100px, 'normal' is resolved as 'start' for replaced elements so it prevents stretching to be applied.</p>
<div class="grid itemsNormal">
<img src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/>
</div>
</div>
<div style="position: relative">
- <p>The green image's original size is 100px x 100px, but it should be stretched to fill the 500px x 500px grid area it's placed into.</p>
+ <p>The blue image's original size is 100px x 100px, but it should be stretched to fill the 500px x 500px grid area it's placed into.</p>
<div class="grid alignItemsStretch justifyItemsStretch">
<img src="/css/support/blue-100.png" data-expected-width="500" data-expected-height="500"/>
</div>
</div>
<div style="position: relative">
- <p>The green image's original size is 100px x 100px, non-stretch values prevent stretching to be applied.</p>
+ <p>The blue image's original size is 100px x 100px, non-stretch values prevent stretching to be applied.</p>
<div class="grid itemsCenter">
<img src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/>
</div>
</div>
<div style="position: relative">
- <p>The green image's original size is 100px x 100px, non-auto sizes prevent stretching to be applied.</p>
+ <p>The blue image's original size is 100px x 100px, non-auto sizes prevent stretching to be applied.</p>
<div class="grid">
<img class="fixedSizes" src="/css/support/blue-100.png" data-expected-width="150" data-expected-height="150"/>
</div>
</div>
<div style="position: relative">
- <p>The green image's original size is 100px x 100px, auto-margins prevent stretching to be applied.</p>
+ <p>The blue image's original size is 100px x 100px, auto-margins prevent stretching to be applied.</p>
<div class="grid">
<img class="autoMargins" src="/css/support/blue-100.png" data-expected-width="100" data-expected-height="100"/>
</div>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/chrome-bug-001.html b/tests/wpt/web-platform-tests/css/css-grid/chrome-bug-001.html
new file mode 100644
index 00000000000..7b24f41a47e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-grid/chrome-bug-001.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
+<link rel="help" href="https://crbug.com/1040069">
+<meta name="assert" content="This test checks that a dynamic change relative position paints the grid correctly."/>
+<style>
+#target {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, 50px);
+
+ position: relative;
+ top: 10px;
+}
+</style>
+<p>Test passes if there is a filled green square.</p>
+<div id="target">
+ <div style="width: 100px; height: 100px; background: green;"></div>
+</div>
+<script>
+document.body.offsetTop;
+document.getElementById('target').style.top = '0px';
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/baseline/child-baseline.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/child-baseline.https.html
new file mode 100644
index 00000000000..a871d690117
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/child-baseline.https.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-alignment">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that passing child baseline to a parent works correctly." />
+<style>
+.test {
+ background: green;
+ padding: 0 10px;
+ width: 80px;
+}
+
+@supports (display: layout(parent)) {
+ .test {
+ display: layout(parent);
+ background: green;
+ }
+
+ .child {
+ display: layout(child);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div class="child"></div>
+</div>
+
+<script id="code" type="text/worklet">
+const BASELINE = 10;
+
+registerLayout('parent', class {
+ async intrinsicSizes() {}
+ async layout(children) {
+ const childFragments = await Promise.all(children.map(child => child.layoutNextFragment({})));
+
+ if (childFragments[0].baseline != BASELINE)
+ return {autoBlockSize: 0, childFragments};
+
+ return {autoBlockSize: 100, childFragments};
+ }
+});
+
+registerLayout('child', class {
+ async intrinsicSizes() {}
+ async layout(children) {
+ const childFragments = await Promise.all(children.map(child => child.layoutNextFragment({})));
+ return { childFragments, baseline: BASELINE }
+ }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/baseline/flex-baseline.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/flex-baseline.https.html
new file mode 100644
index 00000000000..0b0e147a2cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/flex-baseline.https.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-alignment">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that a baseline aligned element uses the baseline set in layout()."/>
+<style>
+.parent {
+ background: red;
+ display: flex;
+ padding: 0 10px;
+ width: 80px;
+ height: 100px;
+}
+
+.child {
+ align-self: baseline;
+ color: red;
+}
+
+@supports (display: layout(parent)) {
+ .parent {
+ background: green;
+ }
+ .child {
+ display: layout(child);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="parent">
+ <div style="position: absolute; top: 50px; width: 50px; height: 25px; background: green;"></div>
+ <div class="child">text</div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('child', class {
+ async intrinsicSizes() {}
+ async layout(children) {
+ const childFragments = await Promise.all(children.map(child => child.layoutNextFragment({})));
+ return {childFragments, baseline: -50};
+ }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/baseline/no-baseline.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/no-baseline.https.html
new file mode 100644
index 00000000000..0bc08552bc5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/no-baseline.https.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-alignment">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that an element with no baseline is handled correctly."/>
+<style>
+.test {
+ background: green;
+ padding: 0 10px;
+ width: 80px;
+}
+
+@supports (display: layout(parent)) {
+ .test {
+ display: layout(parent);
+ background: green;
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div></div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('parent', class {
+ async intrinsicSizes() {}
+ async layout(children) {
+ const childFragments = await Promise.all(children.map(child => child.layoutNextFragment({})));
+ if (childFragments[0].baseline)
+ return {autoBlockSize: 0, childFragments};
+ return {autoBlockSize: 100, childFragments};
+ }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/baseline/orthogonal-baseline.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/orthogonal-baseline.https.html
new file mode 100644
index 00000000000..c83560b57e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/baseline/orthogonal-baseline.https.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-alignment">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that orthogonal children do not produce baselines."/>
+<style>
+.test {
+ background: green;
+ padding: 0 10px;
+ width: 80px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ display: layout(test);
+ background: green;
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div style="writing-mode: vertical-rl; color: green;">text</div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('test', class {
+ async intrinsicSizes() {}
+ async layout(children) {
+ const childFragments = await Promise.all(children.map(child => child.layoutNextFragment({})));
+ if (childFragments[0].baseline)
+ return {autoBlockSize: 0, childFragments};
+ return {autoBlockSize: 100, childFragments};
+ }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html
index cf8aa251c38..6b91f74ad48 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html
@@ -48,7 +48,6 @@ test_invalid_value("clip-path", "unknown-box");
test_invalid_value("clip-path", 'path(abc, "m 20 0 h -100 z")');
test_invalid_value("clip-path", 'path(nonzero)');
-test_invalid_value("clip-path", 'path(evenodd, "")');
test_invalid_value("clip-path", 'path("m 20 0 h -100", nonzero)');
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
index 895cdfacac6..ec6ac5ae9bc 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
@@ -49,6 +49,10 @@ test_valid_value("clip-path", 'path(evenodd, "M 20 20 h 60 v 60 h -60 Z M 30 30
test_valid_value("clip-path",
'path(nonzero, "M20,20h60 v60 h-60z M30,30 h40 v40 h-40z")',
'path("M 20 20 h 60 v 60 h -60 Z M 30 30 h 40 v 40 h -40 Z")');
+// See https://github.com/w3c/fxtf-drafts/issues/392. If empty path string,
+// Blink serializes it as none, but Gecko serializes as path("").
+test_valid_value("clip-path", 'path(" ")', ["none", 'path("")']);
+test_valid_value("clip-path", 'path(evenodd, "")', ["none", 'path(evenodd, "")']);
// <geometry-box>
test_valid_value("clip-path", "border-box");
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html
index 6d7dbc63a1d..31094d25b79 100644
--- a/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html
+++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html
@@ -18,7 +18,7 @@ function assert_valid(syntax, initialValue) {
function assert_invalid(syntax, initialValue) {
test(function(){
var name = '--syntax-test-' + (test_count++);
- assert_throws(new SyntaxError(),
+ assert_throws_dom("SyntaxError",
() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false}));
}, "syntax:'" + syntax + "', initialValue:'" + initialValue + "' is invalid");
}
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property.html
index 5842b83b0a4..feb6c28d47e 100644
--- a/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property.html
+++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/register-property.html
@@ -8,12 +8,12 @@
// Tests for error checking during property registration
test(function() {
- assert_throws(new TypeError(), () => CSS.registerProperty());
- assert_throws(new TypeError(), () => CSS.registerProperty(undefined));
- assert_throws(new TypeError(), () => CSS.registerProperty(true));
- assert_throws(new TypeError(), () => CSS.registerProperty(2));
- assert_throws(new TypeError(), () => CSS.registerProperty("css"));
- assert_throws(new TypeError(), () => CSS.registerProperty(null));
+ assert_throws_js(TypeError, () => CSS.registerProperty());
+ assert_throws_js(TypeError, () => CSS.registerProperty(undefined));
+ assert_throws_js(TypeError, () => CSS.registerProperty(true));
+ assert_throws_js(TypeError, () => CSS.registerProperty(2));
+ assert_throws_js(TypeError, () => CSS.registerProperty("css"));
+ assert_throws_js(TypeError, () => CSS.registerProperty(null));
}, "registerProperty requires a Dictionary type");
test(function() {
@@ -23,29 +23,29 @@ test(function() {
CSS.registerProperty({name: ['--name', 3], inherits: false});
// Invalid property names
- assert_throws(new TypeError(), () => CSS.registerProperty({}));
- assert_throws(new SyntaxError(), () => CSS.registerProperty({name: 'no-leading-dash', inherits: false}));
- assert_throws(new SyntaxError(), () => CSS.registerProperty({name: '', inherits: false}));
- assert_throws(new SyntaxError(), () => CSS.registerProperty({name: '\\--name', inherits: false}));
+ assert_throws_js(TypeError, () => CSS.registerProperty({}));
+ assert_throws_dom("SyntaxError", () => CSS.registerProperty({name: 'no-leading-dash', inherits: false}));
+ assert_throws_dom("SyntaxError", () => CSS.registerProperty({name: '', inherits: false}));
+ assert_throws_dom("SyntaxError", () => CSS.registerProperty({name: '\\--name', inherits: false}));
}, "registerProperty requires a name matching <custom-property-name>");
test(function() {
CSS.registerProperty({name: '--syntax-test-1', syntax: '*', inherits: false});
CSS.registerProperty({name: '--syntax-test-2', syntax: ' * ', inherits: false});
- assert_throws(new SyntaxError(),
+ assert_throws_dom("SyntaxError",
() => CSS.registerProperty({name: '--syntax-test-3', syntax: 'length', inherits: false}));
}, "registerProperty only allows omitting initialValue if syntax is '*'");
test(function() {
CSS.registerProperty({name: '--re-register', syntax: '<length>', initialValue: '0px', inherits: false});
- assert_throws({name: 'InvalidModificationError'},
+ assert_throws_dom('InvalidModificationError',
() => CSS.registerProperty({name: '--re-register', syntax: '<percentage>', initialValue: '0%', inherits: false}));
}, "registerProperty fails for an already registered property");
test(function(){
CSS.registerProperty({name: '--inherit-test-1', syntax: '<length>', initialValue: '0px', inherits: true});
CSS.registerProperty({name: '--inherit-test-2', syntax: '<length>', initialValue: '0px', inherits: false});
- assert_throws(new TypeError(), () => CSS.registerProperty({name: '--inherit-test-3', syntax: '<length>', initialValue: '0px'}));
+ assert_throws_js(TypeError, () => CSS.registerProperty({name: '--inherit-test-3', syntax: '<length>', initialValue: '0px'}));
}, "registerProperty requires inherits");
test(function(){
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/self-utils.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/self-utils.html
index 05aa4b2fb03..b770c86c382 100644
--- a/tests/wpt/web-platform-tests/css/css-properties-values-api/self-utils.html
+++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/self-utils.html
@@ -33,9 +33,9 @@ test(function(){
}, 'Generated properties respect inherits flag');
test(function(){
- assert_throws(new Error(), () => generate_property({syntax: '<length>', foo: 1}));
- assert_throws(new Error(), () => generate_property({syntax: '<length>', inherited: false}));
- assert_throws(new Error(), () => generate_property({syntax: '<length>', initial: '10px'}));
+ assert_throws_js(Error, () => generate_property({syntax: '<length>', foo: 1}));
+ assert_throws_js(Error, () => generate_property({syntax: '<length>', inherited: false}));
+ assert_throws_js(Error, () => generate_property({syntax: '<length>', initial: '10px'}));
}, 'Can\'t generate property with unknown fields');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/typedom.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/typedom.html
index b8e6f4aaf84..51940e298d0 100644
--- a/tests/wpt/web-platform-tests/css/css-properties-values-api/typedom.html
+++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/typedom.html
@@ -44,14 +44,14 @@ function verify_map_set(map, name, value) {
// Verifies that the specified value is NOT accepted by set().
function verify_map_not_set(map, name, value) {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
map.set(name, value);
});
}
// Verifies that the specified value is NOT accepted by append().
function verify_map_no_append(map, name, value) {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
map.append(name, value);
});
}
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020-ref.html
new file mode 100644
index 00000000000..902c8425154
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020-ref.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
+<style>
+.no-marker ::marker {
+ content: none;
+}
+.inside {
+ list-style-position: inside;
+}
+.symbol {
+ list-style-type: disc;
+}
+.decimal {
+ list-style-type: decimal;
+}
+.string {
+ list-style-type: "string";
+}
+.image {
+ list-style-image: url("/images/green-100x50.png");
+}
+</style>
+<div>
+ <ol class="inside">
+ <li class="symbol">inside symbol</li>
+ <li class="decimal">inside decimal</li>
+ <li class="string">inside string</li>
+ <li class="image">inside image</li>
+ </ol>
+ <ol class="outside">
+ <li class="symbol">outside symbol</li>
+ <li class="decimal">outside decimal</li>
+ <li class="string">outside string</li>
+ <li class="image">outside image</li>
+ </ol>
+</div>
+<div class="no-marker">
+ <ol class="inside">
+ <li class="symbol">inside symbol</li>
+ <li class="decimal">inside decimal</li>
+ <li class="string">inside string</li>
+ <li class="image">inside image</li>
+ </ol>
+ <ol class="outside">
+ <li class="symbol">outside symbol</li>
+ <li class="decimal">outside decimal</li>
+ <li class="string">outside string</li>
+ <li class="image">outside image</li>
+ </ol>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020.html
new file mode 100644
index 00000000000..5211506d8a1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-020.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
+<link rel="match" href="marker-content-020-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
+<link rel="help" href="https://drafts.csswg.org/css-content/#content-property">
+<meta name="assert" content="Checks that the ::marker is updated when 'content: none' is applied or unapplied dynamically.">
+<style>
+.no-marker ::marker {
+ content: none;
+}
+.inside {
+ list-style-position: inside;
+}
+.symbol {
+ list-style-type: disc;
+}
+.decimal {
+ list-style-type: decimal;
+}
+.string {
+ list-style-type: "string";
+}
+.image {
+ list-style-image: url("/images/green-100x50.png");
+}
+</style>
+<div class="no-marker">
+ <ol class="inside">
+ <li class="symbol">inside symbol</li>
+ <li class="decimal">inside decimal</li>
+ <li class="string">inside string</li>
+ <li class="image">inside image</li>
+ </ol>
+ <ol class="outside">
+ <li class="symbol">outside symbol</li>
+ <li class="decimal">outside decimal</li>
+ <li class="string">outside string</li>
+ <li class="image">outside image</li>
+ </ol>
+</div>
+<div>
+ <ol class="inside">
+ <li class="symbol">inside symbol</li>
+ <li class="decimal">inside decimal</li>
+ <li class="string">inside string</li>
+ <li class="image">inside image</li>
+ </ol>
+ <ol class="outside">
+ <li class="symbol">outside symbol</li>
+ <li class="decimal">outside decimal</li>
+ <li class="string">outside string</li>
+ <li class="image">outside image</li>
+ </ol>
+</div>
+<script src="/common/reftest-wait.js"></script>
+<script>
+"use strict";
+addEventListener("load", function() {
+ requestAnimationFrame(() => {
+ for (const div of document.querySelectorAll("div")) {
+ div.classList.toggle("no-marker");
+ }
+ takeScreenshot();
+ });
+}, {once: true});
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/META.yml b/tests/wpt/web-platform-tests/css/css-regions/META.yml
deleted file mode 100644
index 37bdc98c84c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/META.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-spec: https://drafts.csswg.org/css-regions/
-suggested_reviewers:
- - astearns
- - rachelandrew
diff --git a/tests/wpt/web-platform-tests/css/css-regions/animations/animations-001.html b/tests/wpt/web-platform-tests/css/css-regions/animations/animations-001.html
deleted file mode 100644
index 665fae56212..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/animations/animations-001.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: animating content flowed into a region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css3-animations/#animations">
- <meta name="assert" content="Test checks that content that has an animated 3D transform renders and animates when flowed in a region.">
- <meta name="flags" content="ahem animated">
- <!-- TODO Determine if it's OK for this test to be a ref-test or it should only be a manual one. -->
- <link rel="match" href="reference/animations-001-ref.html">
- <link rel="stylesheet" href="support/animations.css">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .transformed {
- transform: rotateZ(45deg);
- }
- .flow {
- flow-into: f;
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .region {
- flow-from: f;
- width: 100px;
- height: 100px;
- background-color: lightblue;
- }
- .region p {
- background-color: red;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a green square rotating once on top of a static blue square and no red.</p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <div class="transformed flow rotate once">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/animations/reference/animations-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/animations/reference/animations-001-ref.html
deleted file mode 100644
index bf8490f1d6a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/animations/reference/animations-001-ref.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/animations.css">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .transformed {
- transform: rotateZ(45deg);
- }
- .flow {
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .region {
- width: 100px;
- height: 100px;
- background-color: lightblue;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a rotating green square on top of a static blue square and no red.</p>
-
- <div class="region">
- <div class="transformed flow rotate once">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/animations/support/animations.css b/tests/wpt/web-platform-tests/css/css-regions/animations/support/animations.css
deleted file mode 100644
index 44e3ad9cbde..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/animations/support/animations.css
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Duration classes */
-
-.once {
- animation-duration: 2s;
- animation-timing-function: linear;
- animation-iteration-count: 1;
-}
-
-.infinite {
- animation-duration: 2s;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
-}
-
-.infinite-reversed {
- animation-duration: 2s;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
-}
-
-.fast {
- animation-duration: 0.5s;
-}
-
-/* Animation declarations */
-
-@keyframes pulse {
- from {
- opacity: 1;
- }
- to {
- opacity: 0.25;
- }
-}
-
-@keyframes spin {
- from {
- transform: rotateY(0);
- }
- to {
- transform: rotateY(360deg);
- }
-}
-
-@keyframes rotate {
- from {
- transform: rotateZ(45deg);
- }
- to {
- transform: rotateZ(405deg);
- }
-}
-
-@keyframes slant {
- from {
- transform: rotate3d(0.23, 1.2, 0.83, 40deg);
- }
- to {
- transform: rotate3d(1, 0.75, 1.3, 240deg);
- }
-}
-
-/* Animation classes */
-
-.pulse {
- animation-name: pulse;
-}
-
-.spin {
- animation-name: spin;
-}
-
-.rotate {
- animation-name: rotate;
-}
-
-.slant {
- animation-name: slant;
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-001.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-001.html
deleted file mode 100644
index 204d23eee2a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-001.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: named flow content has contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on
- elements that get flowed in a region does not affect their rendering in the regions. Also,
- such elements should be editable just as they are outside of the region.">
- <link rel="match" href="reference/contentEditable-001-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .content {
- flow-into: flow;
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 300px;
- height: 300px;
- border: 2px solid black;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No red
- should be visible at any time during this test.</li>
- <li>Click between the two colored markers (green and blue) and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;</li>
- <li>Test passes if the text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border.</li>
- </ol>
- <p contentEditable="true" class="content">This is some text content. It contains two colored
- markers: <span class="inline-marker green"></span> <span id="marked">and</span> <span class="inline-marker blue"></span>.<br>
- Follow the instructions above to test CSS Regions and <code>contentEditable</code></p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-002.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-002.html
deleted file mode 100644
index f455178fcba..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-002.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: named flow content has a child with contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on
- elements that get flowed in a region does not affect their rendering in the regions. Also,
- such elements should be editable just as they are outside of the region, even if they are
- not the only elements in the named flow.">
- <link rel="match" href="reference/contentEditable-002-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .content {
- flow-into: flow;
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 300px;
- height: 300px;
- border: 2px solid black;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No red
- should be visible at any time during this test.</li>
- <li>Click between the two gray markers and type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>No (new) text should appear between the gray markers</li>
- </ul>
- </li>
- <li>Click between the two colored markers (green and blue) and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
- <div class="content">This is some text that must not be editable. Not even the text between
- <em><span class="inline-marker gray"></span> <span id="marked-inactive">these two markers</span>
- <span class="inline-marker gray"></span>.</em>
- <div contentEditable="true">
- However, this text <em><span class="inline-marker green"></span> <span id="marked-active">
- between these colored markers</span> <span class="inline-marker blue"></span></em>
- should be editable.
- </div>
- And another non-editable text.
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-inactive", "foobar bazquux");
- insertText("#marked-active", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-003.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-003.html
deleted file mode 100644
index 746316c6bc4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-003.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: named flow content is child of an element that has contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on the
- parent of an element that gets flowed in a region does not affect its rendering in the regions.
- Also, the element should be editable outside and inside the region without differences.">
- <link rel="match" href="reference/contentEditable-003-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .container {
- width: 300px;
- height: 200px;
- border: 2px solid blue;
- }
- .region {
- flow-from: flow;
- width: 300px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a blue border with some text inside it and below
- it a rectangle with a black border with some text inside it. No red should be visible
- at any time during this test.</li>
- <li>Click between the two colored markers (green and blue) inside the blue rectangle and
- type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the blue border</li>
- </ul>
- </li>
- <li>Click between the two colored markers (green and blue) inside the black rectangle and
- type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
- <div class="container">
- <div class="content" contentEditable="true">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> <span id="marked-out">these two markers</span> <span class="inline-marker blue"></span></em>.
-
- <div class="flowed">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- Likewise, this text <em><span class="inline-marker green"></span> <span id="marked-in">between these colored markers</span> <span class="inline-marker blue"></span></em> should be editable.
- </div>
- </div>
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-out", "foobar bazquux");
- insertText("#marked-in", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-004.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-004.html
deleted file mode 100644
index d6c34b99d69..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-004.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: element has contentEditable attribute set and both it and a child of it are
- flowed in a the same region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that flowing both and element and one of its
- children in a region, when said element has the contentEditable attribute set does not
- affect their rendering in the regions and the ability to edit it.">
- <link rel="match" href="reference/contentEditable-004-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 300px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the first pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- <li>Click between the second pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
- <div class="content flowed" contentEditable="true">
- First line of editable content.<br>
- <div class="flowed">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- Likewise, this text <em><span class="inline-marker green"></span> <span id="marked-child">between these colored markers</span> <span class="inline-marker blue"></span></em> should be editable.
- </div>
-
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> <span id="marked-parent">these two markers</span> <span class="inline-marker blue"></span></em>.
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-parent", "foobar bazquux");
- insertText("#marked-child", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-005.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-005.html
deleted file mode 100644
index d13b42cbf2b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-005.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: named flow content has contentEditable attribute set and is fragmented</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on
- elements that get flowed in a region does not affect their rendering and the ability to edit
- them even when they get fragmented in multiple regions.">
- <link rel="match" href="reference/contentEditable-005-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 300px;
- height: 75px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the first pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- <li>Click between the second pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
- <div class="content flowed" contentEditable="true">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> <span id="marked-one">these two markers</span> <span class="inline-marker blue"></span></em>.<br>
-
- Likewise, this text <em><span class="inline-marker green"></span> <span id="marked-two">between these colored markers</span> <span class="inline-marker blue"></span></em> should be editable.
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-one", "foobar bazquux");
- insertText("#marked-two", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-006.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-006.html
deleted file mode 100644
index 2a7b4170095..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-006.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: named flow content has contentEditable attribute set and is flowed in an
- auto-height region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on
- elements that get flowed in a region does not affect their rendering in the regions. Also,
- if the region uses height:auto, the size of the region should change as the content flowed
- in it is edited.">
- <link rel="match" href="reference/contentEditable-006-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 300px;
- height: auto;
- max-height: 150px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the first pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- <li>Click between the second pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
- <div class="content flowed" contentEditable="true">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> <span id="marked-one">these two markers</span> <span class="inline-marker blue"></span>.</em>
-
- Likewise, this text <em><span class="inline-marker green"></span> <span id="marked-two">between these colored markers</span> <span class="inline-marker blue"></span></em> should be editable.
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-one", "foobar bazquux");
- insertText("#marked-two", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-007.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-007.html
deleted file mode 100644
index c80957f6ed9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-007.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: named flow content has contentEditable attribute set and children of it get
- flowed in a region dynamically</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on
- an element does not interfere with its children being dinamically flowed into a region.">
- <link rel="match" href="reference/contentEditable-007-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- #editable {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- width: 300px;
- border: 2px solid blue;
- }
- .content {
- flow-into: flow;
- }
- .region {
- flow-from: flow;
- width: 300px;
- height: 200px;
- border: 2px solid black;
- margin: .5em 0 .5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a blue border and a rectangle with a black border.
- The blue rectangle should have one block of text inside it and the black rectangle
- should have two blocks of text inside it. No red should be visible at any time during
- this test.</li>
- <li>Double click on the word &ldquo;editable&rdquo; in the blue rectangle and type
- &ldquo;foobar bazquux&rdquo;.
- <ul>
- <li>The word &ldquo;editable&rdquo; should be replaced with &ldquo;foobar bazquux&rdquo;.</li>
- </ul>
- </li>
- <li>Repeat the steps above, but for the two occurrences of the word &ldquo;editable&rdquo;
- in the black rectangle. The expected results are the same as for the previous step.
- </li>
- </ol>
-
- <div id="editable" contentEditable="true">
- <p>
- This text should be displayed outside of the black border and <span id="marked-outside">editable</span>.
- </p>
- <p class="content">
- This text should be displayed inside the black border and it should also be <span id="marked-inside">editable</span>.
- </p>
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- document.addEventListener("DOMContentLoaded", function() {
- var newElem = document.createElement("p");
- newElem.classList.add("content");
- newElem.innerHTML = "This text should also be displayed inside the black border and <span id='marked-inside-new'>editable</span>.";
-
- document.querySelector("#editable").appendChild(newElem);
-
- document.body.offsetTop;
-
- insertText("#marked-outside", "foobar bazquux");
- insertText("#marked-inside", "foobar bazquux");
- insertText("#marked-inside-new", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- })
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-008.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-008.html
deleted file mode 100644
index 9aad4956d40..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-008.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: region element has contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on
- a region (an element that has flow-from set) does not prevent the element to becoming a region,
- nor does attempting to interactively edit it produces unexpected results.">
- <link rel="match" href="reference/contentEditable-008-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 200px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the green and blue colored markers and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;
- <ul>
- <li>The text should not be editable.</li>
- </ul>
- </li>
- </ol>
- <div class="content flowed">
- This is some text that should not be editable. Not even the text between
- <em><span class="inline-marker green"></span> <span id="marked-one">these two markers</span> <span class="inline-marker blue"></span></em>.
- </div>
-
- <div contentEditable="true" class="region">
- This is some editable text that you should not be able to see, with <span class="inline-marker green"></span> <span id="marked-two">colored markers</span> <span class="inline-marker blue"></span>.
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-one", "foobar bazquux");
- insertText("#marked-two", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-009.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-009.html
deleted file mode 100644
index e709d2e7e9e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-009.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: region element has child with contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on a
- child of a region (an element that has flow-from set) does not prevent the parent element to
- becoming a region, nor does attempting to interactively edit it produces unexpected results.">
- <link rel="match" href="reference/contentEditable-008-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 200px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the green and blue colored markers and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;
- <ul>
- <li>The text should not be editable.</li>
- </ul>
- </li>
- </ol>
- <div class="content flowed">
- This is some text that should not be editable. Not even the text between
- <em><span class="inline-marker green"></span> <span id="marked-one">these two markers</span> <span class="inline-marker blue"></span></em>.
- </div>
-
- <div class="region">
- <p contentEditable="true">
- This is some editable text that you should not be able to see, with <span class="inline-marker green"></span> <span id="marked-two">colored markers</span> <span class="inline-marker blue"></span>.
- </p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-one", "foobar bazquux");
- insertText("#marked-two", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-010.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-010.html
deleted file mode 100644
index 2e3bc624f9d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-010.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: auto-size region with contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on an
- auto-sized region (an element that has flow-from set) does not prevent it to becoming a region,
- nor does attempting to interactively edit it produces unexpected results.">
- <link rel="match" href="reference/contentEditable-010-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the green and blue colored markers and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;
- <ul>
- <li>The text should not be editable.</li>
- </ul>
- </li>
- </ol>
- <div class="content flowed">
- This is some text that should not be editable.<br>
- Not even the text between <em><span class="inline-marker green"></span>
- <span id="marked-one">these two markers</span> <span class="inline-marker blue"></span></em>.
- </div>
-
- <div contentEditable="true" class="region">
- This is some editable text that you should not be able to see, with <span class="inline-marker green"></span> <span id="marked-two">colored markers</span> <span class="inline-marker blue"></span>.
- <p>&nbsp;</p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-one", "foobar bazquux");
- insertText("#marked-two", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-011.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-011.html
deleted file mode 100644
index 087287eddd6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-011.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: both named flow content and region element have contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that setting the contentEditable attribute on both
- named flow content (an element that has flow-into set) and the region (an element that has
- flow-from set) does not prevent the region to properly flowing the content, while the content
- stays editable and no unexpected interactions happen.">
- <link rel="match" href="reference/contentEditable-011-ref.html">
- <link rel="stylesheet" href="support/common.css">
- <style>
- .flowed {
- flow-into: flow;
- }
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- flow-from: flow;
- width: 200px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Double click the &ldquo;<strong>editable</strong>&rdquo; word between the green and
- blue colored markers and type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The word &ldquo;editable&rdquo; should be replaced with &ldquo;foobar bazquux&rdquo;.</li>
- </ul>
- </li>
- </ol>
- <div class="content flowed" contentEditable="true">
- This is some text that should be editable. Just like the <em><span class="inline-marker green"></span> <span id="marked-one">editable</span> <span class="inline-marker blue"></span></em> text between these markers.
- </div>
-
- <div class="region" contentEditable="true">
- <p>
- This is some editable text that you should not be able to see, with <span class="inline-marker green"></span> <span id="marked-two">colored markers</span> <span class="inline-marker blue"></span>.
- </p>
- </div>
-
- <script type="text/javascript" src="support/helpers.js"></script>
- <script type="text/javascript">
- insertText("#marked-one", "foobar bazquux");
- insertText("#marked-two", "foobar bazquux");
- document.documentElement.classList.remove('reftest-wait');
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-012.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-012.html
deleted file mode 100644
index 496b849167d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/contentEditable-012.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>CSS Regions: regions are children of an element with the contentEditable attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/html5/editing.html#contenteditable">
- <meta name="flags" content="ahem dom interact">
- <meta name="assert" content="Test checks that children of an element that has the contentEditable
- attribute can be used for flowing content into and interactively duplicating the regions (via
- user-initiated copy/paste) properly flows the content in the newly created regions. Properly
- executing this test requires an user agent that supports copy/paste operations.">
- <link rel="stylesheet" href="support/common.css">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- flow-into: flow;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- margin: 0;
- }
-
- .container {
- width: 200px;
- height: 400px;
- padding: 10px;
- border: 2px solid blue;
- }
-
- .region {
- flow-from: flow;
- region-fragment: break;
- display: inline-block;
- width: 100px;
- height: 100px;
- border: 2px solid black;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>No red should be visible at any time during this test.</li>
- <li>Below you should see a rectangle with a black border.</li>
- <li>Inside the rectangle you should see a green square with a black border, between two
- &ldquo;+&rdquo; signs on blue background.</li>
- <li>Click and drag from one &ldquo;+&rdquo; to the other and copy the selection either
- via keyboard shortcut (usually <code>Ctrl+C</code> on Windows and Linux
- and <code>Cmd+C</code> on Mac OS) or menu/context menu.</li>
- <li>
- Click after the last &ldquo;+&rdquo; sign and paste the previously selected content
- either via keyboard shortcut (usually <code>Ctrl+V</code> on Windows and Linux and
- <code>Cmd+V</code> on Mac OS) or menu/context menu.
- <ul>
- <li>You should see another green square appearing</li>
- </ul>
- </li>
- </ol>
- <p contentEditable="true" class="content">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </p>
-
- <div class="container" contentEditable="true">
- <span class="inline-marker blue">+</span>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <span class="inline-marker blue">+</span>&nbsp;
- </div>
-
- <script src="support/helpers.js"></script>
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-001-ref.html
deleted file mode 100644
index 15f20c178b3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-001-ref.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 300px;
- height: 300px;
- border: 2px solid black;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No red
- should be visible at any time during this test.</li>
- <li>Click between the two colored markers (green and blue) and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;</li>
- <li>Test passes if the text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border.</li>
- </ol>
-
- <div class="region">
- <p contentEditable="true" class="content">This is some text content. It contains two colored
- markers: <span class="inline-marker green"></span> <span id="marked">foobar bazquux</span> <span class="inline-marker blue"></span>.<br>
- Follow the instructions above to test CSS Regions and <code>contentEditable</code></p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-002-ref.html
deleted file mode 100644
index 0b9853a7c9f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-002-ref.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 300px;
- height: 300px;
- border: 2px solid black;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No red
- should be visible at any time during this test.</li>
- <li>Click between the two gray markers and type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>No (new) text should appear between the gray markers</li>
- </ul>
- </li>
- <li>Click between the two colored markers (green and blue) and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
- <div class="region">
- <div class="content">
- This is some text that must not be editable. Not even the text between
- <em><span class="inline-marker gray"></span> <span id="marked-inactive">these two markers</span>
- <span class="inline-marker gray"></span>.</em>
- <div contentEditable="true">
- However, this text <em><span class="inline-marker green"></span> <span id="marked-active">
- foobar bazquux</span> <span class="inline-marker blue"></span></em>
- should be editable.
- </div>
- And another non-editable text.
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-003-ref.html
deleted file mode 100644
index e4e6a0fd7a2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-003-ref.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .container {
- width: 300px;
- height: 200px;
- border: 2px solid blue;
- }
- .region {
- width: 300px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- .region > p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a blue border with some text inside it and below
- it a rectangle with a black border with some text inside it. No red should be visible
- at any time during this test.</li>
- <li>Click between the two colored markers (green and blue) inside the blue rectangle and
- type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the blue border</li>
- </ul>
- </li>
- <li>Click between the two colored markers (green and blue) inside the black rectangle and
- type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
-
- <div class="container">
- <div class="content" contentEditable="true">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> foobar bazquux <span class="inline-marker blue"></span></em>.
- </div>
- </div>
-
- <div class="region">
- <div class="content" contentEditable="true">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- Likewise, this text <em><span class="inline-marker green"></span> foobar bazquux <span class="inline-marker blue"></span></em> should be editable.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-004-ref.html
deleted file mode 100644
index 393f0ed6e00..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-004-ref.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 300px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the first pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- <li>Click between the second pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
-
- <div class="region">
- <div class="content" contentEditable="true">
- First line of editable content.<br>
-
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> <span id="marked-parent">foobar bazquux</span> <span class="inline-marker blue"></span></em>.
- <div>
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- Likewise, this text <em><span class="inline-marker green"></span> <span id="marked-child">foobar bazquux</span> <span class="inline-marker blue"></span></em> should be editable.
- </div>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-005-ref.html
deleted file mode 100644
index 73c3e13e6cc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-005-ref.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 300px;
- height: 75px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the first pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- <li>Click between the second pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
-
- <div class="region">
- <div class="content" contentEditable="true">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> <span id="marked-one">foobar bazquux</span> <span class="inline-marker blue"></span></em>.
- </div>
- </div>
- <div class="region">
- <div class="content" contentEditable="true">
- Likewise, this text <em><span class="inline-marker green"></span> <span id="marked-two">foobar bazquux</span> <span class="inline-marker blue"></span></em> should be editable.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-006-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-006-ref.html
deleted file mode 100644
index 74bcd605de6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-006-ref.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 300px;
- height: auto;
- max-height: 150px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the first pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- <li>Click between the second pair of green and blue colored markers and type
- &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The text you typed is displayed at the cursor position between the
- two markers and the lines of text wrap inside the black border</li>
- </ul>
- </li>
- </ol>
-
- <div class="region">
- <div class="content" contentEditable="true">
- <!-- On a single line since new lines in contentEditable elements are messy :( -->
- This is some text that should be editable. Even the text between <em><span class="inline-marker green"></span> <span id="marked-one">foobar bazquux</span> <span class="inline-marker blue"></span>.</em>
-
- Likewise, this text <em><span class="inline-marker green"></span> <span id="marked-two">foobar bazquux</span> <span class="inline-marker blue"></span></em> should be editable.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-007-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-007-ref.html
deleted file mode 100644
index cdbef3af385..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-007-ref.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .editable-container {
- width: 300px;
- border: 2px solid blue;
- }
- .editable {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 300px;
- height: 200px;
- border: 2px solid black;
- margin: .5em 0 .5em 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a blue border and a rectangle with a black border.
- The blue rectangle should have one block of text inside it and the black rectangle
- should have two blocks of text inside it. No red should be visible at any time during
- this test.</li>
- <li>Double click on the word &ldquo;editable&rdquo; in the blue rectangle and type
- &ldquo;foobar bazquux&rdquo;.
- <ul>
- <li>The word &ldquo;editable&rdquo; should be replaced with &ldquo;foobar bazquux&rdquo;.</li>
- </ul>
- </li>
- <li>Repeat the steps above, but for the two occurrences of the word &ldquo;editable&rdquo;
- in the black rectangle. The expected results are the same as for the previous step.
- </li>
- </ol>
-
- <div class="editable-container" contentEditable="true">
- <p class="editable">
- This text should be displayed outside of the black border and <span id="marked-outside">foobar bazquux</span>.
- </p>
- </div>
-
- <div class="region">
- <div contentEditable="true">
- <p class="editable">
- This text should be displayed inside the black border and it should also be <span id="marked-inside">foobar bazquux</span>.
- </p>
- <p class="editable">
- This text should also be displayed inside the black border and <span id='marked-inside-new'>foobar bazquux</span>.
- </p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-008-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-008-ref.html
deleted file mode 100644
index e2da2a0f263..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-008-ref.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 200px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the green and blue colored markers and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;
- <ul>
- <li>The text should not be editable.</li>
- </ul>
- </li>
- </ol>
-
- <div contentEditable="true" class="region">
- <div class="content flowed">
- This is some text that should not be editable. Not even the text between
- <em><span class="inline-marker green"></span> <span id="marked-one">these two markers</span> <span class="inline-marker blue"></span></em>.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-010-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-010-ref.html
deleted file mode 100644
index 4e9cbc633f2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-010-ref.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a rectangle with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Click between the green and blue colored markers and type &ldquo;<strong>foobar
- bazquux</strong>&rdquo;
- <ul>
- <li>The text should not be editable.</li>
- </ul>
- </li>
- </ol>
-
- <div class="region">
- <div class="content">
- This is some text that should not be editable.<br>
- Not even the text between <em><span class="inline-marker green"></span>
- <span id="marked-one">these two markers</span> <span class="inline-marker blue"></span></em>.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-011-ref.html b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-011-ref.html
deleted file mode 100644
index 248323cd5db..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/reference/contentEditable-011-ref.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" href="../support/common.css">
- <style>
- .content {
- font-family: Times, serif;
- font-size: 20px;
- line-height: 1em;
- }
- .region {
- width: 200px;
- height: 200px;
- border: 2px solid black;
- margin: 0.5em 0 0.5em 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Below you should see a square with a black border with some text inside it. No
- red should be visible at any time during this test.</li>
- <li>Double click the &ldquo;<strong>editable</strong>&rdquo; word between the green and
- blue colored markers and type &ldquo;<strong>foobar bazquux</strong>&rdquo;
- <ul>
- <li>The word &ldquo;editable&rdquo; should be replaced with &ldquo;foobar bazquux&rdquo;.</li>
- </ul>
- </li>
- </ol>
-
- <div class="region">
- <div class="content flowed" contentEditable="true">
- This is some text that should be editable. Just like the <em><span class="inline-marker green"></span> <span id="marked-one">foobar bazquux</span> <span class="inline-marker blue"></span></em> text between these markers.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/common.css b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/common.css
deleted file mode 100644
index 30c65805873..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/common.css
+++ /dev/null
@@ -1,17 +0,0 @@
-.inline-marker {
- display: inline-block;
- width: 16px;
- height: 16px;
-}
-
-.green {
- background-color: lime;
-}
-
-.blue {
- background-color: lightblue;
-}
-
-.gray {
- background-color: silver;
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/helpers.js b/tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/helpers.js
deleted file mode 100644
index cd3b2e7065e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/contentEditable/support/helpers.js
+++ /dev/null
@@ -1,32 +0,0 @@
-document.addEventListener("DOMContentLoaded", function() {
- // Mare sure we're styling with CSS
- document.execCommand("styleWithCss", true, null);
-});
-
-function insertText(selector, newText) {
- var selection = window.getSelection(),
- insertionPoint = document.querySelector(selector),
- range = document.createRange();
-
- range.selectNode(insertionPoint);
-
- selection.removeAllRanges();
- selection.addRange(range);
-
- document.execCommand("insertText", true, newText);
-}
-
-function duplicate(selector) {
- var selection = window.getSelection(),
- insertionPoint = document.querySelector(selector),
- range = document.createRange();
-
- range.selectNode(insertionPoint);
- selection.removeAllRanges();
- selection.addRange(range);
-
- document.execCommand("copy", true, null);
-
- selection.removeAllRanges();
- document.execCommand("paste", true, null);
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-001.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-001.html
deleted file mode 100644
index c790a4e0167..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-001.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered and unordered list items</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their list markers and numbering.">
- <link rel="match" href="reference/extract-list-items-001-ref.html">
- <style>
- ul > li {
- flow-into: uflow;
- }
- #r1 {
- flow-from: uflow;
- }
- ol > li {
- flow-into: oflow;
- }
- #r2 {
- flow-from: oflow;
- }
- .region {
- width: 200px;
- background-color: lightgray;
- margin: 1em 2em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles, each with a 4 items list in it.<br>
- The first list should not be numbered and the second should be numbered, starting at 1.<br>
- Both the list markers for the first list and the numbers for the second list should be outside of the gray rectangles.
- </p>
- <ul>
- <li>Unordered list, item 1</li>
- <li>Unordered list, item 2</li>
- <li>Unordered list, item 3</li>
- <li>Unordered list, item 4</li>
- </ul>
- <ol>
- <li>Ordered list, item 1</li>
- <li>Ordered list, item 2</li>
- <li>Ordered list, item 3</li>
- <li>Ordered list, item 4</li>
- </ol>
- <div id="r1" class="region"></div>
- <div id="r2" class="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-002.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-002.html
deleted file mode 100644
index eea50b64101..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-002.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered and unordered list items from multiple lists</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their list markers and numbering, even when extracting items from multiple lists in the same named flow.">
- <link rel="match" href="reference/extract-list-items-002-ref.html">
- <style>
- ul:first-of-type, ol:first-of-type {
- color: blue;
- }
- ul:nth-of-type(3) {
- color: green;
- }
- ol > li {
- flow-into: f1;
- }
- #r1 {
- flow-from: f1;
- }
- ul > li {
- flow-into: f2;
- }
- #r2 {
- flow-from: f2;
- }
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 200px;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles: the first with two numbered lists (3 items each), the second with three un-numbered lists (2 items each).<br>
- First list of each type should be blue, second list of each type should be black and the third un-ordered list should be green.
- </p>
- <p>Each numbered list should start at 1.<br>
- Both the numbers and the list markers should be outside of the gray rectangles.</p>
- <ol>
- <li>Ordered list 1, item 1</li>
- <li>Ordered list 1, item 2</li>
- <li>Ordered list 1, item 3</li>
- </ol>
- <ol>
- <li>Ordered list 2, item 1</li>
- <li>Ordered list 2, item 2</li>
- <li>Ordered list 2, item 3</li>
- </ol>
- <div class="region" id="r1"></div>
-
- <ul>
- <li>Unordered list 1, item 1</li>
- <li>Unordered list 1, item 2</li>
- </ul>
- <ul>
- <li>Unordered list 2, item 1</li>
- <li>Unordered list 2, item 2</li>
- </ul>
- <ul>
- <li>Unordered list 3, item 1</li>
- <li>Unordered list 3, item 2</li>
- </ul>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-003.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-003.html
deleted file mode 100644
index aa6a68009fe..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-003.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered list items from multiple lists, including nested lists</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their numbering, even when extracting items from multiple and nested lists into the same named flow.">
- <link rel="match" href="reference/extract-list-items-003-ref.html">
- <style>
- #outer-ordered-1 ol,
- #outer-ordered-2 ol {
- color: blue;
- }
- #outer-ordered-2 ol ol {
- color: green;
- }
-
- #outer-ordered-1 > li {
- flow-into: f1;
- }
- #r1 {
- flow-from: f1;
- }
-
- #outer-ordered-2 li {
- flow-into: f2;
- }
- #r2 {
- flow-from: f2;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles: each with a list with another lists nested in it. The numbers for the black list in the first rectangle, and the numbers for all the lists in the second rectangle should be rendered outside of the gray boxes</p>
- <p>The list in the first rectangle should be black, with two blue nested lists in it. The nested lists should appear after the first and the second items, they should be indented and numbered starting at 1.</p>
- <p>The list in the second rectangle should be black, with a blue nested list in it that has in turn a nested green list in it. The numbers in the list items text should coincide with the list item numbers.</p>
- <ol id="outer-ordered-1">
- <li>First ordered list, item 1
- <ol>
- <li>First inner ordered list, item 1</li>
- <li>First inner ordered list, item 2</li>
- <li>First inner ordered list, item 3</li>
- </ol>
- </li>
- <li>First ordered list, item 2
- <ol>
- <li>Second inner ordered list, item 1</li>
- <li>Second inner ordered list, item 2</li>
- </ol>
- </li>
- <li>First ordered list, item 3</li>
- </ol>
- <div class="region" id="r1"></div>
-
- <ol id="outer-ordered-2">
- <li>Second ordered list, item 1</li>
- <li>Second ordered list, item 2
- <ol>
- <li>Last inner ordered list, item 1</li>
- <li>Last inner ordered list, item 2
- <ol>
- <li>Innermost ordered list, item 1</li>
- <li>Innermost ordered list, item 2</li>
- </ol>
- </li>
- <li>Last inner ordered list, item 3</li>
- <li>Last inner ordered list, item 4</li>
- </ol>
- </li>
- <li>Second ordered list, item 3</li>
- </ol>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-004.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-004.html
deleted file mode 100644
index b019900d333..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-004.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on unordered list items, when items contain other unordered lists</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their list markers, even when extracting items from multiple and nested lists into the same named flow.">
- <link rel="match" href="reference/extract-list-items-004-ref.html">
- <style>
- #outer-unordered-1 ul,
- #outer-unordered-2 ul {
- color: blue;
- }
- #outer-unordered-2 ul ul {
- color: green;
- }
-
-
- #outer-unordered-1 > li {
- flow-into: f1;
- }
- #r1 {
- flow-from: f1;
- }
-
- #outer-unordered-2 li {
- flow-into: f2;
- }
- #r2 {
- flow-from: f2;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles: each with a list with another lists nested in it. The list markers for the black list in the first rectangle, and for all the lists in the second rectangle should be rendered outside of the gray boxes</p>
- <p>The list in the first rectangle should be black, with two blue nested lists in it. The nested lists should appear after the first and the second items, they should be indented and use a different kind of bullet.</p>
- <p>The list in the second rectangle should be black, with a blue nested list in it that has in turn a nested green list in it. Each of the black, blue and green list should use different kinds of bullets and list items of the same color should have the same kind of bullet.</p>
- <ul id="outer-unordered-1">
- <li>First unordered list, item 1
- <ul>
- <li>First inner unordered list, item 1</li>
- <li>First inner unordered list, item 2</li>
- <li>First inner unordered list, item 3</li>
- </ul>
- </li>
- <li>First unordered list, item 2
- <ul>
- <li>Second inner unordered list, item 1</li>
- <li>Second inner unordered list, item 2</li>
- </ul>
- </li>
- <li>First unordered list, item 3</li>
- </ul>
- <div class="region" id="r1"></div>
-
- <ul id="outer-unordered-2">
- <li>Second unordered list, item 1</li>
- <li>Second unordered list, item 2
- <ul>
- <li>Last inner unordered list, item 1</li>
- <li>Last inner unordered list, item 2
- <ul>
- <li>Innermost unordered list, item 1</li>
- <li>Innermost unordered list, item 2</li>
- </ul>
- </li>
- <li>Last inner unordered list, item 3</li>
- <li>Last inner unordered list, item 4</li>
- </ul>
- </li>
- <li>Second unordered list, item 3</li>
- </ul>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-005.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-005.html
deleted file mode 100644
index bc30be0fb99..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-005.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on list items from multiple lists, when items contain other lists</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their list markers or numbering (type, value), even when extracting items from multiple and nested lists into the same named flow.">
- <link rel="match" href="reference/extract-list-items-005-ref.html">
- <style>
- .outer-mixed-1 ul,
- .outer-mixed-1 ol {
- color: blue;
- }
-
- .outer-mixed-1 > li {
- flow-into: f1;
-
- }
- #r1 {
- flow-from: f1;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there is a gray rectangle with two black lists in it, as described below.<br>
- The first black list is a bulleted list that has a blue numbered list in it.<br>
- The second black list is a numbered list that has two blue nested lists in it: the first nested list is a bulleted list with three items, and the second list is a numbered list with two items.</p>
- <p>The numbers and bullets for the black lists should be rendered outside the gray rectangle, while the blue list items should be indented. Also, the blue bulleted list should have a different type of bullets than the black bulleted list.</p>
- <ul class="outer-mixed-1">
- <li>Unordered list, item 1
- <ol>
- <li>Inner ordered list, item 1</li>
- <li>Inner ordered list, item 2</li>
- <li>Inner ordered list, item 3</li>
- </ol>
- </li>
- <li>Unordered list, item 2</li>
- </ul>
- <ol class="outer-mixed-1">
- <li>Ordered list, item 1
- <ul>
- <li>Unordered inner list, item 1</li>
- <li>Unordered inner list, item 2</li>
- <li>Unordered inner list, item 3</li>
- </ul>
- </li>
- <li>Ordered list, item 2
- <ol>
- <li>Second inner ordered list, item 1</li>
- <li>Second inner ordered list, item 2</li>
- </ol>
- </li>
- </ol>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-006.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-006.html
deleted file mode 100644
index cb4c6780d7a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-006.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on all list items from a nested list</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their list markers or numbering (type, value), even when extracting items from multiple and nested lists into the same named flow.">
- <link rel="match" href="reference/extract-list-items-006-ref.html">
- <style>
- .outer-mixed-2 ul,
- .outer-mixed-2 ol {
- color: blue;
- }
- .outer-mixed-2 ol ul {
- color: green;
- }
- .outer-mixed-2 ol ul ol {
- color: red;
- }
-
- .outer-mixed-2 li{
- flow-into: f2;
- }
- #r2 {
- flow-from: f2;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there is a gray rectangle with a list in it, as described below. The list markers and numbers for the lists should be rendered outside of the gray rectangle.</p>
- <p>The rectangle should contain a black, bulleted list. This list should contain a blue numbered list after the second item. The numbering on the blue list should start at 1. The blue list should contain a green, bulleted list after its second item. The green bulleted list should contain a red, numbered list after its second item. The numbering on the red list should start at 1, too.<br>
- The green list should use different bullets than the black list.<br>
- None of the list items should be indented &ndash; as such, they should render as a plain list, with varying types of bullets and numberings. The sequence of the colors should be, from top to bottom: black, blue, green, red, blue, black.</p>
-
- <ul class="outer-mixed-2">
- <li>Outer unordered list, item 1</li>
- <li>Outer unordered list, item 2
- <ol>
- <li>Inner ordered list, item 1</li>
- <li>Inner ordered list, item 2
- <ul>
- <li>Inner unordered list, item 1</li>
- <li>Inner unordered list, item 2
- <ol>
- <li>Innermost ordered list, item 1</li>
- <li>Innermost ordered list, item 2</li>
- <li>Innermost ordered list, item 3</li>
- </ol>
- </li>
- </ul>
- </li>
- <li>Inner ordered list, item 3</li>
- <li>Inner ordered list, item 4</li>
- </ol>
- </li>
- <li>Outer unordered list, item 3</li>
- </ul>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-007.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-007.html
deleted file mode 100644
index b852751f75c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-007.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on list items from multiple lists that have the "reversed" or "start" HTML attributes set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their numbering, even when extracting items from multiple and nested lists into the same named flow. The numbering should also honor the HTML 'reversed' and 'start' attribute.">
- <link rel="match" href="reference/extract-list-items-007-ref.html">
- <style>
- ol ol {
- color: blue;
- list-style-type: upper-roman;
- }
- li {
- flow-into: f1;
- }
- #r1 {
- flow-from: f1;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there is a gray rectangle with a numbered list, as described below.<br>
- The numbers for the list should be outside the rectangle and all items should render at the same indentation level.<br>
- The second and third items in the list should be blue and numbered using roman numerals, CI and C, respectively. All the other items in the list should be black and numbered with decimal numbers corresponding to the item text.<br>
- The final numbering of this list should be: 3, CI, C, 2, 1, 10, 11, 12, 13.</p>
-
- <ol reversed="true">
- <li>List item no. 3
- <ol start="101" reversed>
- <li>Roman-numbered list item CI</li>
- <li>Roman-numbered list item C</li>
- </ol>
- </li>
- <li>List item no. 2</li>
- <li>List item no. 1</li>
- </ol>
- <ol start="10">
- <li>List item no. 10</li>
- <li>List item no. 11</li>
- <li>List item no. 12</li>
- <li>List item no. 13</li>
- </ol>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-008.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-008.html
deleted file mode 100644
index 807b3d155d5..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-008.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into only on specific list items from multiple lists</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that extracting only certain list items from a list into a named flow preseves their numbering and markings both in the region and outside the region.">
- <link rel="match" href="reference/extract-list-items-008-ref.html">
- <style>
- ul {
- list-style-type: disc;
- }
- ul ul {
- list-style-type: circle;
- }
- ol {
- list-style-type: decimal;
- }
- ul ol {
- list-style-type: upper-roman;
- }
-
- .extract {
- flow-into: f1;
- color: blue;
- }
- .container {
- color: #006400;
- background-color: lightgreen;
- margin: 2em;
-
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- }
- #r1 {
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Individual list items are extracted from ordered/unordered lists. Some of them remain
- in the normal document flow while others are rendered in a region. Both the items that remain
- in the normal flow and items in the named flow should preserve their number/marks just as regions
- were not applied at all. -->
- <p>Test passes if you see two rectangles, one green and one blue, as described below:<br>
- The green rectangle should contain two lists, separated by a small vertical space. The <strong>first list</strong> should be a numbered list starting with 2 that has 2 items; the <strong>second list</strong> should be a bullet list with 3 items, the last one being indented and with a different type of bullet.<br>
- The blue rectangle should contain a list with items numbered/marked in different ways, as follows. Except where noted, the numbers/markers should be <em>outside</em> the the blue rectangle. The <strong>first item</strong> should be numbered with the number 1, in decimal. The <strong>second item</strong> should be bulleted. The <strong>third and fourth items</strong> should be numbered with 2 and 1 respectively, with roman numerals. Also, the <strong>third item</strong> should be indented (with the number inside the blue rectangle). The <strong>fourth and fifth items</strong> should be bulleted, with the <strong>fourth item</strong> having a different kind of bullet than the second and fifth item.
- </p>
- <div class="container">
- <ol>
- <li class="extract">Numbered list, item 1</li>
- <li>Numbered list, item 2</li>
- <li>Numbered list, item 3</li>
- </ol>
- <ul>
- <li>Bullet list, item 1</li>
- <li class="extract">Bullet list, item 2
- <ol>
- <li class="extract">Numbered sub-list, item I</li>
- <li>Numbered sub-list, item II</li>
- </ol>
- </li>
- <li>Bullet list, item 3
- <ul>
- <li class="extract">Bullet sub-list, item 1</li>
- <li>Bullet sub-list, item 2</li>
- </ul>
- </li>
- <li class="extract">Bullet list, item 4</li>
- </ul>
- </div>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-009.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-009.html
deleted file mode 100644
index 27d77d468fd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-009.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into only on specific list items from multiple lists + list item formatting via :nth-child, :nth-of-type</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that extracting only certain list items from a list into a named flow does not affect styling via pseudo-classes such as :first-child or :nth-child">
- <link rel="match" href="reference/extract-list-items-009-ref.html">
- <style>
- .container {
- background-color: lightgreen;
- color: #006400;
- margin: 2em;
- }
-
- .extract ,
- #theItem {
- flow-into: f1;
- }
-
- #first li:first-child,
- li:nth-child(even),
- li:nth-of-type(4n) {
- color: blue;
- }
- #first {
- list-style-type: decimal;
- }
- #second {
- list-style-type: disc;
- }
- #third {
- list-style-type: upper-latin;
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- }
- #r1 {
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Individual list items are extracted from ordered/unordered lists. Some of them remain
- in the normal document flow while others are rendered in a region. Pseudo-elements are used
- to format the extracted list items. Things like children counting should not be affected by
- the items being extracted in the named flow. -->
- <p>Test passes if you see two rectangles, one green and one blue, as described below:<br>
- The green rectangle should contain three lists, separated by a small vertical space. The <strong>first list</strong> should be a numbered list starting at 3, with only one item. The <strong>second list</strong> should be a bulleted list with three items. The <strong>third list</strong> should be a numbered list with two items, numbered A and C respectively.<br>
- The blue rectangle should contain a list with items numbered/marked in a different ways, as follows. As opposed to the green rectangle, the numbers/markings for the list items in the blue rectangle should be outside the rectangle. The <strong>first and second items</strong> should be numbered with 1 and 2 (decimal). The <strong>third and fourth items</strong> should be bulleted. The <strong>fifth and sixth items</strong> should be numbered with B and D respectively.</p>
- <div class="container">
- <ol id="first">
- <li id="theItem">First numbered list, item 1</li>
- <li class="extract">First numbered list, item 2</li>
- <li>First numbered list, item 3</li>
- </ol>
- <ul id="second">
- <li>Bullet list, item 1</li>
- <li class="extract">Bullet list, item 2</li>
- <li>Bullet list, item 3</li>
- <li class="extract">Bullet list, item 4</li>
- <li>Bullet list, item 5</li>
- </ul>
- <ol id="third">
- <li>Second numbered list, item A</li>
- <li class="extract">Second numbered list, item B</li>
- <li>Second numbered list, item C</li>
- <li class="extract">Second numbered list, item D</li>
- </ol>
- </div>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-010.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-010.html
deleted file mode 100644
index d5384442f72..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-010.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: applying flow-into and other formatting on specific list items via :nth-child, :nth-of-type pseudo-classes</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that pseudo-classes like :first-child or :nth-of-type can be used both for styling and extracting only certain list items from a list into a named flow.">
- <link rel="match" href="reference/extract-list-items-009-ref.html">
- <style>
- .container {
- background-color: lightgreen;
- color: #006400;
- margin: 2em;
- }
-
- #first li:first-child,
- li:nth-child(even),
- li:nth-of-type(4n) {
- color: blue;
- flow-into: f1;
- }
- #first {
- list-style-type: decimal;
- }
- #second {
- list-style-type: disc;
- }
- #third {
- list-style-type: upper-latin;
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- }
- #r1 {
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Individual list items are extracted from ordered/unordered lists. Some of them remain
- in the normal document flow while others are rendered in a region. Pseudo-elements are used
- to extract the list items and format them. -->
- <p>Test passes if you see two rectangles, one green and one blue, as described below:<br>
- The green rectangle should contain three lists, separated by a small vertical space. The <strong>first list</strong> should be a numbered list starting at 3, with only one item. The <strong>second list</strong> should be a bulleted list with three items. The <strong>third list</strong> should be a numbered list with two items, numbered A and C respectively.<br>
- The blue rectangle should contain a list with items numbered/marked in a different ways, as follows. As opposed to the green rectangle, the numbers/markings for the list items in the blue rectangle should be outside the rectangle. The <strong>first and second items</strong> should be numbered with 1 and 2 (decimal). The <strong>third and fourth items</strong> should be bulleted. The <strong>fifth and sixth items</strong> should be numbered with B and D respectively.</p>
- <div class="container">
- <ol id="first">
- <li>First numbered list, item 1</li>
- <li>First numbered list, item 2</li>
- <li>First numbered list, item 3</li>
- </ol>
- <ul id="second">
- <li>Bullet list, item 1</li>
- <li>Bullet list, item 2</li>
- <li>Bullet list, item 3</li>
- <li>Bullet list, item 4</li>
- <li>Bullet list, item 5</li>
- </ul>
- <ol id="third">
- <li>Second numbered list, item A</li>
- <li>Second numbered list, item B</li>
- <li>Second numbered list, item C</li>
- <li>Second numbered list, item D</li>
- </ol>
- </div>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-011.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-011.html
deleted file mode 100644
index bd09072e2d8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-011.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: applying flow-into and other formatting on specific list items via different pseudo-classes</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that pseudo-classes like :first-child or :nth-of-type can be used both for styling and extracting only certain list items from a list into a named flow.">
- <link rel="match" href="reference/extract-list-items-009-ref.html">
- <style>
- .container {
- background-color: lightgreen;
- color: #006400;
- margin: 2em;
- }
-
- #first li:first-child,
- li:nth-child(even),
- li:nth-of-type(4n) {
- flow-into: f1;
- }
- ol:first-of-type li:first-of-type,
- ol:first-child li:nth-child(2),
- #second :nth-of-type(2),
- #second li:nth-of-type(4),
- #third :last-child,
- #third :nth-child(2) {
- color: blue;
- }
- #first {
- list-style-type: decimal;
- }
- #second {
- list-style-type: disc;
- }
- #third {
- list-style-type: upper-latin;
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- }
- #r1 {
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Individual list items are extracted from ordered/unordered lists. Some of them remain
- in the normal document flow while others are rendered in a region.
- Pseudo-elements are used to extract the list items and then, other, equivalent
- pseudo-elements are used to format them. -->
- <p>Test passes if you see two rectangles, one green and one blue, as described below:<br>
- The green rectangle should contain three lists, separated by a small vertical space. The <strong>first list</strong> should be a numbered list starting at 3, with only one item. The <strong>second list</strong> should be a bulleted list with three items. The <strong>third list</strong> should be a numbered list with two items, numbered A and C respectively.<br>
- The blue rectangle should contain a list with items numbered/marked in a different ways, as follows. As opposed to the green rectangle, the numbers/markings for the list items in the blue rectangle should be outside the rectangle. The <strong>first and second items</strong> should be numbered with 1 and 2 (decimal). The <strong>third and fourth items</strong> should be bulleted. The <strong>fifth and sixth items</strong> should be numbered with B and D respectively.</p>
- <div class="container">
- <ol id="first">
- <li>First numbered list, item 1</li>
- <li>First numbered list, item 2</li>
- <li>First numbered list, item 3</li>
- </ol>
- <ul id="second">
- <li>Bullet list, item 1</li>
- <li>Bullet list, item 2</li>
- <li>Bullet list, item 3</li>
- <li>Bullet list, item 4</li>
- <li>Bullet list, item 5</li>
- </ul>
- <ol id="third">
- <li>Second numbered list, item A</li>
- <li>Second numbered list, item B</li>
- <li>Second numbered list, item C</li>
- <li>Second numbered list, item D</li>
- </ol>
- </div>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-012.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-012.html
deleted file mode 100644
index fb6fbe81820..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-012.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on individual list items preserves other list styling properties (list-style-*)</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that list styling properties are honored even for list items extracted in named flows and rendered in regions.">
- <link rel="match" href="reference/extract-list-items-012-ref.html">
- <style>
- #first {
- list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRDAzNDVGOTNCMEQxMUUyQkVGOEU1OTA4MTYyRjA0RiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRDAzNDVGQTNCMEQxMUUyQkVGOEU1OTA4MTYyRjA0RiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZEMDM0NUY3M0IwRDExRTJCRUY4RTU5MDgxNjJGMDRGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZEMDM0NUY4M0IwRDExRTJCRUY4RTU5MDgxNjJGMDRGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+rpZ8YAAAAGlJREFUeNpi/P//PwMlgImBQoDVAEZGxv9ATLELiDKEkBcIGkJMGOA1hNhAxGkIKbHwn37RiAM0UmIASPMB7B4DJmV0DPUvDDcAsQM2dWC1BAzAq5mQAQ34NBIyoAFKOxAygJHS7AwQYAAt068AjhXk+gAAAABJRU5ErkJggg==);
- list-style-position: inside;
- }
- #second {
- list-style-type: square;
- list-style-position: outside;
- }
- #third {
- list-style-type: upper-roman;
- list-style-position: inside;
- }
- #third li {
- font-weight: bold;
- }
- #third li span {
- font-weight: normal;
- }
- #inner {
- list-style-type: upper-alpha;
- }
- .container {
- color: #006400;
- background-color: lightgreen;
- margin: 2em;
- float: left;
- width: 20em;
- height: 20em;
- }
- li:last-child {
- flow-into: f1;
- color: blue;
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- float: left;
- width: 20em;
- height: 20em;
- }
- #r1 {
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Setting different values for list-style-position, list-style-type, list-style-image and
- then extracting individual list items into named flows. Numbering shouldn't be affected, as
- shouldn't indenting and marker boxes positioning. -->
- <p>Test passes if you see two rectangles, one green and one blue, as described below. Except where noted, all list items should be rendered on two lines.<br>
- The green rectangle should contain three lists, separated by a small vertical space, each with two items. The <strong>first list</strong> should use a triangle-shaped bullet and the text on the second line should start below the bullet. The <strong>second list</strong> should use a square-shaped bullet and the text on the second line should not come under the bullet. The <strong>third list</strong> should be numbered with roman numerals starting with 20 (XX) and the text on the second line should start below the number.<br>
- The blue rectangle should contain a list with items numbered/marked in different ways, as follows. The <strong>first item</strong> should use a triangle-shaped bullet and the text on the second line should start below the bullet. The <strong>second item</strong> should use a square-shaped bullet and the bullet should be outside of the blue rectangle. The <strong>third and fourth items</strong> should be one-line and numbered with letters A and B respectively. The third item should be indented while the fourth item should have the number outside the blue rectangle. The <strong>fifth item</strong> should be numbered with the roman numeral 22 (XXII) and the text on the second line should start below the number.</p>
-
- <div class="container">
- <ul id="first">
- <li>Custom bullet list, item 1<br><em>Another line of text here</em></li>
- <li>Custom bullet list, item 2<br><em>Another line of text here</em></li>
- <li>Custom bullet list, item 3<br><em>Another line of text here</em></li>
- </ul>
- <ul id="second">
- <li>Square bullet list, item 1<br><em>Another line of text here</em></li>
- <li>Square bullet list, item 2<br><em>Another line of text here</em></li>
- <li>Square bullet list, item 3<br><em>Another line of text here</em>
- <ol id="inner">
- <li>Inner ordered list, item A</li>
- <li>Inner ordered list, item B</li>
- </ol>
- </li>
- </ul>
- <ol start="20" id="third">
- <li><span>Roman numbered list, item XX<br><em>Another line of text here</em></span></li>
- <li><span>Roman numbered list, item XXI<br><em>Another line of text here</em></span></li>
- <li><span>Roman numbered list, item XXII<br><em>Another line of text here</em></span></li>
- </ol>
- </div>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-013.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-013.html
deleted file mode 100644
index c74f987339b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-013.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on individual list items preserves other list styling properties (list-style-*) even when CSS styling contradicts default CSS styling for those HTML elements</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that list styling properties are honored even for list items extracted in named flows when the CSS-specified list type is in opposition with the list type from the markup (ol/ul).">
- <link rel="match" href="reference/extract-list-items-009-ref.html">
- <style>
- ul, ol {
- margin: 0;
- }
- .ordered {
- list-style-type: lower-latin;
- }
- .unordered {
- list-style-type: circle;
- }
- .extract {
- color: blue;
- flow-into: f1;
- }
- .container {
- color: #006400;
- background-color: lightgreen;
- margin: 2em;
- float: left;
- width: 15em;
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- float: left;
- width: 15em;
- }
- #r1 {
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two rectangles, one green and one blue, as described below.</p>
- <p>The green rectangle should contain a list with items numbered/marked as such: the <strong>first two items</strong> should be numbered with small latin letters, starting with d. The <strong>next three items</strong> should be bulleted with a circle. The numbers/bullets should all be <em>inside</em> the green rectangle.</p>
- <p>The blue rectangle should contain a list with items numbered/marked as such: the <strong>first three items</strong> should be numbered with small latin letters, starting with a. The <strong>next two items</strong> should be bulleted with a circle. The numbers/bullets should all be <em>outside</em> the blue rectangle.</p>
-
- <div class="container">
- <ul class="ordered">
- <li class="extract">Ordered list, item a</li>
- <li class="extract">Ordered list, item b</li>
- <li class="extract">Ordered list, item c</li>
- <li>Ordered list, item d</li>
- <li>Ordered list, item e</li>
- </ul>
- <ol class="unordered">
- <li>Unordered list, item 1</li>
- <li>Unordered list, item 2</li>
- <li>Unordered list, item 3</li>
- <li class="extract">Unordered list, item 4</li>
- <li class="extract">Unordered list, item 5</li>
- </ol>
- </div>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-014.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-014.html
deleted file mode 100644
index 89d0503095d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-014.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into with different flows on list items from the same list</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test flow-into property can be applied to individual list items. This test checks that list items from the same list extracted in different named flows preserve their numbering.">
- <link rel="match" href="reference/extract-list-items-014-ref.html">
- <style>
- .extract1 {
- flow-into: f1;
- color: #006400;
- }
- .extract2 {
- flow-into: f2;
- color: blue;
- }
- .region {
- margin-left: 2em;
- float: left;
- width: 15em;
- height: 10em;
- }
- #r1 {
- flow-from: f1;
- background-color: lightgreen;
- }
- #r2 {
- flow-from: f2;
- background-color: lightblue;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two rectangles, one green and one blue, as follows. Each rectangle should contain a numbered list; the numbers should be rendered outside the rectangle. The items in the first list should be numbered 1, 2 and 5 respectively, while the items in the second list should be numbered 3, 4 and 6 respectively.</p>
- <ol>
- <li class="extract1">List item 1</li>
- <li class="extract1">List item 2</li>
- <li class="extract2">List item 3</li>
- <li class="extract2">List item 4</li>
- <li class="extract1">List item 5</li>
- <li class="extract2">List item 6</li>
- </ol>
- <div class="region" id="r1"></div>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-015.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-015.html
deleted file mode 100644
index 95e6ba09e85..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-list-items-015.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on list items that have the "value" HTML attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <!-- See also http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#attr-li-value -->
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their correct numbering when some of the items have the value attribute set but others don't.">
- <link rel="match" href="reference/extract-list-items-015-ref.html">
- <style>
- ol, li {
- margin: 0;
- padding: 0;
- }
- .extract {
- flow-into: f;
- }
- .box {
- float: left;
- width: 20em;
- height: 10em;
- margin: 0 2em;
- }
- #container {
- background-color: lightgray;
- }
- #region {
- flow-from: f;
- background-color: lightgreen;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two rectangles, each with a numbered list inside, as described below. The numbers for both of the lists should be rendered outside (to the left) of the respective rectangles.</p>
- <p>The first rectangle should be lightgray and contain a numbered list with 5 items. The items should be numbered with 2, 3, 8, 10 and 11 respectively.</p>
- <p>The second rectangle should be lightgreen and contain a numbered list with 4 items. The items should be numbered with 1, 6, 7 and 9 respectively.</p>
- <div class="box" id="container">
- <ol>
- <li class="extract">List item 1</li>
- <li>List item 2</li>
- <li value="3">List item 3</li>
- <li class="extract" value="6">List item 6</li>
- <li class="extract">List item 7</li>
- <li>List item 8</li>
- <li class="extract">List item 9</li>
- <li value="10">List item 10</li>
- <li>List item 11</li>
- </ol>
- </div>
- <div class="box" id="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-001.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-001.html
deleted file mode 100644
index b5604604139..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-001.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on p's and div's that use a single CSS counter as content in ::before</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that extracting paragraphs and divs with content that use counters behaves as without regions.">
- <link rel="match" href="reference/extract-numbered-paragraphs-divs-001-ref.html">
- <style>
- #container {
- counter-reset: c 0;
- }
- #container p,
- #container div {
- flow-into: f1;
- counter-increment: c;
- margin: 1em 0;
- }
- #container p::before,
- #container div::before {
- content: "(" counter(c) ") ";
- background: darkblue;
- color: white;
- }
- #region {
- background-color: lightblue;
- border: 1px solid lightblue;
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Numbered <p>-s and <div>-s using the same counter, displayed inline via ::before -->
- <p>Test passes if you see a light blue rectangle below, with eight lines of text in it. The text on each line should be black and preceded by the line number between parantheses. The line numbers should be white on a dark blue background.</p>
- <div id="container">
- <p>This is numbered line of text no. 1</p>
- <p>This is numbered line of text no. 2</p>
- <div>This is numbered line of text no. 3</div>
- <p>This is numbered line of text no. 4</p>
- <div>This is numbered line of text no. 5</div>
- <p>This is numbered line of text no. 6</p>
- <div>This is numbered line of text no. 7</div>
- <div>This is numbered line of text no. 8</div>
- </div>
- <div id="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-002.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-002.html
deleted file mode 100644
index a9b6f290abb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs-divs-002.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on p's and div's that use different CSS counters as content in ::after</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that extracting paragraphs and divs with content that use counters behaves as without regions.">
- <link rel="match" href="reference/extract-numbered-paragraphs-divs-002-ref.html">
- <style>
- #container {
- counter-reset: p 0 d 0;
- }
- #container p,
- #container div {
- flow-into: f1;
- margin: 0;
- }
- #container p,
- #container div {
- counter-increment: p d;
- }
-
- #container p::after,
- #container div::after {
- display: block;
- text-align: right;
- border-top: medium solid black;
- font-size: 200%;
- }
-
- #container p::after {
- color: red;
- content: counter(p);
- }
- #container div::after {
- color: green;
- content: counter(d);
- }
-
- #region {
- width: 20em;
- background-color: lightblue;
- border: 1px solid lightblue;
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Numbered <p>-s and <div>-s using different counters, displayed as blocks via ::after -->
- <p>Test passes if you see a light blue rectangle below, with eight lines of text in it. Each line of text should be black and with a thick underline. Below and to the right of each line of text you should see the number of that line, colored alternatingly red and green.</p>
- <div id="container">
- <p>This is numbered line of text no. 1</p>
- <div>This is numbered line of text no. 2</div>
- <p>This is numbered line of text no. 3</p>
- <div>This is numbered line of text no. 4</div>
- <p>This is numbered line of text no. 5</p>
- <div>This is numbered line of text no. 6</div>
- <p>This is numbered line of text no. 7</p>
- <div>This is numbered line of text no. 8</div>
- </div>
- <div id="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs.html
deleted file mode 100644
index af4648afcce..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-paragraphs.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on p's that use a CSS counter as content in ::before</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that extracting paragraphs with content that use counters behaves as without regions.">
- <link rel="match" href="reference/extract-numbered-paragraphs-ref.html">
- <style>
- #container {
- counter-reset: para 0;
- }
- #container p {
- flow-into: f1;
- counter-increment: para;
- margin: 1em 0;
- }
- #container p::before {
- content: "(" counter(para) ") ";
- background: darkblue;
- color: white;
- }
- #region {
- background-color: lightblue;
- border: 1px solid lightblue;
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <!-- Numbered <p>-s using a single counter, displayed inline via ::before -->
- <p>Test passes if you see a light blue rectangle below, with five lines of text in it. Each line of text should be black and preceded by the line number between parantheses. The line numbers should be white on a dark blue background.</p>
- <div id="container">
- <p>This is numbered paragraph no. 1</p>
- <p>This is numbered paragraph no. 2</p>
- <p>This is numbered paragraph no. 3</p>
- <p>This is numbered paragraph no. 4</p>
- <p>This is numbered paragraph no. 5</p>
- </div>
- <div id="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-spans-display-only-some.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-spans-display-only-some.html
deleted file mode 100644
index 2630311b566..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-numbered-spans-display-only-some.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on inline elements (span's) that use a CSS counter as content for ::before</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that extracting multiple elements into named flows but flowing only some of them into regions still preserves proper numbering via counters.">
- <link rel="match" href="reference/extract-numbered-spans-display-only-some-ref.html">
- <style>
- span:nth-of-type(odd) {
- flow-into: odd;
- }
- span:nth-of-type(even) {
- flow-into: even;
- }
- #container {
- counter-reset: spans 0;
- }
- span {
- counter-increment: spans;
- }
- span::before {
- display: inline-block;
- content: counter(spans) ".";
- width: 2em;
- margin: 0 .5em;
- background: green;
- color: white;
- text-align: center;
- }
-
- #region {
- background-color: lightblue;
- flow-from: even;
- }
- </style>
- </head>
- <body>
- <!-- Numbered <p>-s and <div>-s using different counters, displayed as blocks via ::after -->
- <p>Test passes if you see a light blue rectangle below, with three blocks of black text on a single line. Each block of text should be numbered from 1 to 3 and contain the text &ldquo;Visible text <em>n</em>&rdquo; with <em>n</em> ranging from 1 to 3. The numbering should be white on a green background.</p>
- <div id="container">
- <span>Hidden bit of text 1</span>
- <span>Visible text 1</span>
- <span>Hidden bit of text 2</span>
- <span>Visible text 2</span>
- <span>Hidden bit of text 3</span>
- <span>Visible text 3</span>
- </div>
- <div id="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-001.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-001.html
deleted file mode 100644
index e426ba76652..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-001.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered lists - single list in named flow, multiple lists in a named flow, multiple lists with nested lists in a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. Multiple lists extracted in a named flow should render in regions just as without regions.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-001-ref.html">
- <style>
- ol {
- margin-top: 0;
- margin-bottom: 0;
- }
- ol ol {
- color: blue;
- list-style-type: lower-roman;
- }
- #list1 {
- flow-into: flow1;
- }
- #list21, #list22 {
- flow-into: flow2;
- }
- #list31, #list32 {
- flow-into: flow3;
- }
- #list21, #list31 {
- margin-bottom: 1em;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 15em;
- }
- #region1 {
- flow-from: flow1;
- }
- #region2 {
- flow-from: flow2;
- }
- #region3 {
- flow-from: flow3;
- }
- </style>
- </head>
- <body>
- <p>The test passes if there are three gray rectangles: the left one with a 4 items list, the middle one with two 2 items lists, the right one with two 5 items lists. <br> The blue items in the right rectangle should be indented and numbered using roman numerals.</p>
- <ol id="list1">
- <li>First list, item 1</li>
- <li>First list, item 2</li>
- <li>First list, item 3</li>
- <li>First list, item 4</li>
- </ol>
- <ol id="list21">
- <li>List 2-1, item 1</li>
- <li>List 2-1, item 2</li>
- </ol>
- <ol id="list22">
- <li>List 2-2, item 1</li>
- <li>List 2-2, item 2</li>
- </ol>
- <ol id="list31">
- <li>List 3-1, item 1</li>
- <li>List 3-1, item 2
- <ol>
- <li>First inner list, item i</li>
- <li>First inner list, item ii</li>
- </ol>
- </li>
- <li>List 3-1, item 3</li>
- </ol>
- <ol id="list32">
- <li>List 3-2, item 1</li>
- <li>List 3-2, item 2</li>
- <li>List 3-2, item 3
- <ol>
- <li>Second inner list, item i</li>
- <li>Second inner list, item ii</li>
- </ol>
- </li>
- </ol>
- <div class="region" id="region1"></div>
- <div class="region" id="region2"></div>
- <div class="region" id="region3"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-002.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-002.html
deleted file mode 100644
index 799867d6d81..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-002.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered lists that have the "reversed" HTML attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. Lists extracted in a named flow should still honor the HTML5 'reversed' list attribute.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-002-ref.html">
- <style>
- ol {
- margin: 0;
- }
- ol ol {
- color: blue;
- }
- #ordered-1 {
- flow-into: f1;
- }
- #r1 {
- flow-from: f1;
- }
-
- #ordered-2,
- #ordered-2 ol {
- flow-into: f2;
- }
- #r2 {
- flow-from: f2;
- }
-
- .ordered-3 {
- flow-into: f3;
- }
- #r3 {
- flow-from: f3;
- }
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 15em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see three gray rectangles with a number of lists inside each, as follows.</p>
- <p>The first rectangle should contain a black numbered list, with the numbers in reverse order. After the first item there should a be a blue numbered list, indented and numbered in normal order.</p>
- <p>The second rectangle should contain two numbered list. The first one should be black and numbered in reverse order while the second should be blue and numbered in normal order. They should both have the same indentation level.</p>
- <p>The third rectangle should contain two black, numbered lists, the first with three items, the second with two items. Both lists should be numbered in reverse.</p>
- <ol id="ordered-1" reversed="reversed">
- <li>First reversed list, item 3
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- </ol>
- </li>
- <li>First reversed list, item 2</li>
- <li>First reversed list, item 1</li>
- </ol>
- <div class="region" id="r1"></div>
-
- <ol id="ordered-2" reversed>
- <li>Second reversed list, item 3</li>
- <li>Second reversed list, item 2
- <ol>
- <li>Second inner list, item 1</li>
- <li>Second inner list, item 2</li>
- <li>Second inner list, item 3</li>
- </ol>
- </li>
- <li>Second reversed list, item 1</li>
- </ol>
- <div class="region" id="r2"></div>
-
- <ol class="ordered-3" reversed="true">
- <li>Third reversed list, item 3</li>
- <li>Third reversed list, item 2</li>
- <li>Third reversed list, item 1</li>
- </ol>
- <ol class="ordered-3" reversed="true">
- <li>Final reversed list, item 2</li>
- <li>Final reversed list, item 1</li>
- </ol>
- <div class="region" id="r3"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-003.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-003.html
deleted file mode 100644
index 3d499ad1972..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-003.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered lists that have the "reversed" and/or "start" HTML attribute set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. Lists extracted in a named flow should still honor the HTML5 'start' and 'reversed' list attributes.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-002-ref.html">
- <style>
- ol {
- margin: 0;
- }
- ol ol {
- color: blue;
- }
- #ordered-1 {
- flow-into: f1;
- }
- #r1 {
- flow-from: f1;
- }
-
- #ordered-2,
- #ordered-2 ol {
- flow-into: f2;
- }
- #r2 {
- flow-from: f2;
- }
-
- .ordered-3 {
- flow-into: f3;
- }
- #r3 {
- flow-from: f3;
- }
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see three gray rectangles with a number of lists inside each, as follows.</p>
- <p>The first rectangle should contain a black numbered list, with the numbering starting at 3. After the first item there should a be a blue numbered list, indented, with numbering starting at 10.</p>
- <p>The second rectangle should contain two numbered list. The first one should be black with numbering starting at 10, while the second should be blue and with the numbering starting at 0. They should both have the same indentation level.</p>
- <p>The third rectangle should contain a single numbered list, that's reversed, with the first item being numbered 5.</p>
- <ol id="ordered-1" start="3">
- <li>First ordered list, item 3
- <ol start="10">
- <li>Inner ordered list, item 10</li>
- <li>Inner ordered list, item 11</li>
- </ol>
- </li>
- <li>First ordered list, item 4</li>
- <li>First ordered list, item 5</li>
- </ol>
- <div class="region" id="r1"></div>
-
- <ol id="ordered-2" start="10">
- <li>Second ordered list, item 10</li>
- <li>Second ordered list, item 11
- <ol start="0">
- <li>Inner ordered list, item 0</li>
- <li>Inner ordered list, item 1</li>
- <li>Inner ordered list, item 2</li>
- </ol>
- </li>
- <li>Second ordered list, item 12</li>
- </ol>
- <div class="region" id="r2"></div>
-
- <ol class="ordered-3" reversed="true" start="5">
- <li>Reversed ordered list, item 5</li>
- <li>Reversed ordered list, item 4</li>
- <li>Reversed ordered list, item 3</li>
- </ol>
- <ol class="ordered-3" reversed="true">
- <li>Reversed ordered list, item 2</li>
- <li>Reversed ordered list, item 1</li>
- </ol>
- <div class="region" id="r3"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html
deleted file mode 100644
index 56f8a2f1d08..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered lists that use a single CSS counter and ::before for list numbering</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. Multiple lists using a single counter displayed in generated content and extracted in a named flow should render in regions just as without regions.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html">
- <style>
- ol {
- list-style-type: none;
- counter-reset: items 0;
- }
- ol>li {
- counter-increment: items;
- }
- li::before {
- content: counter(items) ". ";
- display: inline-block;
- width: 1.5em;
- margin-right: .3em;
- text-align: right;
- }
-
- ol.double>li {
- counter-increment: items 2;
- }
- ol.double>li::before {
- content: counter(items, upper-latin) ". ";
- }
-
- ol.down-ten {
- counter-reset: items 11;
- }
- ol.down-ten>li {
- counter-increment: items -1;
- }
- ol.down-ten>li::before {
- content: counter(items, upper-roman) ". ";
- width: 2em;
- }
-
- #list1 {
- flow-into: flow1;
- }
- #list21, #list22 {
- flow-into: flow2;
- }
- #list31 {
- flow-into: flow3;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 18em;
- height: 15em;
- }
- #region1 {
- flow-from: flow1;
- }
- #region2 {
- flow-from: flow2;
- }
- #region3 {
- flow-from: flow3;
- }
- </style>
- </head>
- <body>
- <p>The test passes if there are three gray rectangles as follows:<br>
- 1. the first one contains a numbered, 4 items list<br>
- 2. the second contains two numbered, 3 items lists &ndash; each list uses letters for numbering, starting with 'B.' and skipping every other letter (<em>e.g.</em> B, D, F)<br>
- 3. the last rectangle contains a descending numbered list: it's numbered using roman numerals, starting at X (10), in decreasing order; after the second item there's an inner numbered list with 2 items, again descendingly numbered with roman numerals, starting at 10; finally, before the last item there's another inner numbered list with 2 items, labeled with letters, more precisely, the letters B and D</p>
- <ol id="list1">
- <li>First list, item 1</li>
- <li>First list, item 2</li>
- <li>First list, item 3</li>
- <li>First list, item 4</li>
- </ol>
- <ol id="list21" class="double">
- <li>List 2-1, item B</li>
- <li>List 2-1, item D</li>
- <li>List 2-1, item F</li>
- </ol>
- <ol id="list22" class="double" start="4">
- <li>List 2-2, item B</li>
- <li>List 2-2, item D</li>
- <li>List 2-2, item F</li>
- </ol>
- <ol id="list31" class="down-ten">
- <li>Outer list, item X</li>
- <li>Outer list, item IX
- <ol class="down-ten">
- <li>Inner list 1, item X</li>
- <li>Inner list 1, item IX</li>
- </ol>
- </li>
- <li>Outer list, item VIII</li>
- <li>Outer list, item VII</li>
- <li>Outer list, item VI
- <ol class="double">
- <li>Inner list 2, item B</li>
- <li>Inner list 2, item D</li>
- </ol>
- </li>
- <li>Outer list, item V</li>
- </ol>
- <div class="region" id="region1"></div>
- <div class="region" id="region2"></div>
- <div class="region" id="region3"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html
deleted file mode 100644
index 86a69047587..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on ordered lists that use multiple CSS counters and ::before for list numbering</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-reset" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-increment" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. List items numbered using a single counter in nested scopes and extracted in a named flow should render in regions just as without regions.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html">
- <style>
- #list1 ol, ul {
- counter-reset: items 0;
- padding-left: 2em;
- }
- li {
- counter-increment: items 1;
- list-style-type: none;
- }
- .twice>li {
- counter-increment: items 2;
- }
- li::before {
- content: counters(items, ".") ". ";
- display: inline-block;
- margin-right: .3em;
- text-align: right;
- }
- .roman>li::before {
- content: counters(items, ".", upper-roman) ". ";
- }
- .disc>li::before {
- content: counter(items, disc) " ";
- }
- #list1 {
- flow-into: f1;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 15em;
- }
- #r1 {
- flow-from: f1;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see a gray rectangle with a list containing sublists as follows: the outermost list items should be numbered using roman numerals; the second-level list should be a bullet list with two items; the innermost list should be numbered using three levels of decimal numbers (<em>e.g.</em> 2.1.1).</p>
- <ol class="roman" id="list1">
- <li>Roman list, item I</li>
- <li>Roman list, item II
- <ul class="disc">
- <li>Bullet 1
- <ol>
- <li>Sub-point 2.1.1</li>
- <li>Sub-point 2.1.2</li>
- </ol>
- </li>
- <li>Bullet 2
- <ol>
- <li>Sub-point 2.2.1</li>
- <li>Sub-point 2.2.2</li>
- <li>Sub-point 2.2.3</li>
- <li>Sub-point 2.2.4</li>
- </ol>
- </li>
- </ul>
- </li>
- <li>Roman list, item III</li>
- <li>Roman list, item IV</li>
- </ol>
- <div class="region" id="r1"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html
deleted file mode 100644
index 11d2dc000f4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on list items from lists that use a single CSS counter with nested scopes and ::before for list numbering</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-reset" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-increment" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. Extracting parts of a list numbered using a single counter in nested scopes should render in regions just as without regions.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html">
- <style>
- ol, ul {
- counter-reset: items 0;
- padding-left: 2em;
- }
- li {
- counter-increment: items 1;
- list-style-type: none;
- }
- .twice>li {
- counter-increment: items 2;
- }
- li::before {
- content: counters(items, ".") ". ";
- display: inline-block;
- margin-right: .3em;
- text-align: right;
- }
- .roman>li::before {
- content: counters(items, ".", upper-roman) ". ";
- }
- .latin>li::before {
- content: counters(items, ".", upper-latin) ". ";
- }
- .disc>li::before {
- content: counter(items, disc) " ";
- }
- .extract1 {
- flow-into: f1;
- color: #006400;
- }
- .extract2 {
- flow-into: f2;
- color: blue;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 20em;
- }
- #r1 {
- flow-from: f1;
- background-color: lightgreen;
- }
- #r2 {
- flow-from: f2;
- background-color: lightblue;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two rectangles, one green and one blue, as described below.</p>
- <p>The green rectangle should contain two lists, <em>one numbered</em> and <em>one bulleted</em>. The <strong>numbered list</strong> should be numbered with roman numerals. Inside it, after the second item there should be a two items bulleted list that's indented. After the first bullet there should a three items numbered list. The numbering for this list should use three levels of period separated decimal numbers (<em>e.g.</em> 2.1.1). The <strong>bulleted list</strong> should have 4 items and the same indentation as the roman-numbered list above it.</p>
- <p>The blue rectangle should contain a four items numbered list. The numbering for this list should use three levels of period separated decimal numbers, starting at 2.2.1.</p>
-
- <ol class="roman extract1">
- <li>Roman list, item I</li>
- <li>Roman list, item II
- <ul class="disc">
- <li>Bullet 1
- <ol>
- <li>Sub-point 2.1.1</li>
- <li>Sub-point 2.1.2</li>
- </ol>
- </li>
- <li>Bullet 2
- <ol class="extract2">
- <li>Sub-point 2.2.1</li>
- <li>Sub-point 2.2.2</li>
- <li>Sub-point 2.2.3</li>
- <li>Sub-point 2.2.4</li>
- </ol>
- </li>
- </ul>
- </li>
- <li>Roman list, item III</li>
- <li>Roman list, item IV
- <ul class="disc extract1">
- <li>Another bullet 1</li>
- <li>Another bullet 2</li>
- <li>Another bullet 3</li>
- <li>Another bullet 4</li>
- </ul>
- </li>
- </ol>
- <div class="region" id="r1"></div>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html
deleted file mode 100644
index fc975df57a8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on list items from lists that use multiple CSS counters with nested scopes and ::before for list numbering</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-reset" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-increment" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. List items numbered using multiple counters and extracted in a named flow should render in regions just as without regions.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html">
- <style>
- /*Lists setup*/
- ol {
- padding-left: 1em;
- }
- ol>li {
- list-style-type: none;
- }
- ol.part {
- counter-reset: part 0;
- }
- ol.part>li {
- counter-increment: part;
- }
- ol.part>li::before {
- content: counter(part, upper-roman) " ";
- font-weight: bold;
- }
- ol.chapter {
- counter-reset: chapter 0;
- }
- ol.chapter>li {
- counter-increment: chapter;
- }
- ol.chapter>li::before {
- content: counter(chapter, decimal) ". ";
- }
- ol.section {
- counter-reset: section 0;
- }
- ol.section>li {
- counter-increment: section;
- }
- ol.section>li::before {
- content: counter(part, upper-roman) "." counter(chapter, decimal) "-" counter(section, lower-latin) " ";
- color: blue;
- }
- /*Regions setup*/
- .extract1 {
- flow-into: f1;
- }
- .extract2 {
- flow-into: f2;
- }
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 20em;
- height: 20em;
- }
- #r1 {
- flow-from: f1;
- }
- #r2 {
- flow-from: f2;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two gray rectangles, as described below.</p>
- <p>The first rectangle contains two numbered lists. The <strong>first list</strong> has three items and is numbered using bold roman numerals, starting at 1 (I). After the first item there's a numbered sublist; it is indented and has four items, numbered using decimal numbers, starting at 1. After the last item in this sublist there's a single item numbered list; the numbering is blue and uses three levels of numbering: roman, decimal and with latin letters, respectively; numbering starts with I.4-a. The <strong>second list</strong> has two items and uses the same blue, three-level numbering, that starts at I.3-a this time.</p>
- <p>The second rectangle contains a two-items numbered list, numbered using decimal numbers. After the first item there's a sublist. The sublist is indented and has blue, three level-numbering: roman, decimal and with latin letters, respectively. Numbering starts with <em>III.1-a</em>.</p>
- <ol class="part extract1">
- <li>Part I
- <ol class="chapter">
- <li>Chapter 1</li>
- <li>Chapter 2</li>
- <li>Chapter 3
- <ol class="section extract1">
- <li>Section I.3-a</li>
- <li>Section I.3-b</li>
- </ol>
- </li>
- <li>Chapter 4
- <ol class="section">
- <li>Section I.4-a</li>
- </ol>
- </li>
- </ol>
- </li>
- <li>Part II</li>
- <li>Part III
- <ol class="chapter extract2">
- <li>Chapter 1
- <ol class="section">
- <li>Section III.1-a</li>
- <li>Section III.1-b</li>
- <li>Section III.1-c</li>
- <li>Section III.1-d</li>
- </ol>
- </li>
- <li>Chapter 2</li>
- </ol>
- </li>
- </ol>
- <div class="region" id="r1"></div>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html
deleted file mode 100644
index c7044a7082c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on list items from lists that use multiple CSS counters with nested scopes and ::after for list numbering</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-reset" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-counter-increment" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to ordered lists. List items numbered using multiple counters displayed in the ::after pseudo-element and extracted in a named flow should render in regions just as without regions.">
- <link rel="match" href="reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html">
- <style>
- /*Lists setup*/
- ol {
- padding-left: 1em;
- }
- ol>li {
- display: block;
- position: relative;
- }
- li::after {
- position: absolute;
- top: 0;
- right: 0;
- margin-right: .5em;
- }
- ol.part {
- counter-reset: part 0;
- }
- ol.part>li {
- counter-increment: part;
- }
- ol.part>li::after {
- content: counter(part, upper-roman) " ";
- font-weight: bold;
- }
-
- ol.chapter {
- counter-reset: chapter 0;
- }
- ol.chapter>li {
- counter-increment: chapter;
- }
- ol.chapter>li::after {
- content: "\2026\ " counter(chapter, decimal);
- }
-
- ol.section {
- counter-reset: section 0;
- }
- ol.section>li {
- counter-increment: section;
- }
- ol.section>li::after {
- content: counter(part, upper-roman) "." counter(chapter, decimal) "-" counter(section, lower-latin) " ";
- color: blue;
- }
- /*Regions setup*/
- .extract1 {
- flow-into: f1;
- }
- .extract2 {
- flow-into: f2;
- }
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 20em;
- height: 20em;
- }
- #r1 {
- flow-from: f1;
- }
- #r2 {
- flow-from: f2;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two gray rectangles, as described below. All numbering should be aligned to the right margin of the rectangles.</p>
- <p>The first rectangle contains two numbered lists. The <strong>first list</strong> has three items and is numbered using bold roman numerals, starting at 1 (I). After the first item there's a numbered sublist; it is indented and has four items, numbered using decimal numbers preceded by an ellipsis (&hellip;), starting at 1. After the last item in this sublist there's a single item numbered list; the numbering is blue and uses three levels of numbering: roman, decimal and with latin letters, respectively; numbering starts with I.4-a. The <strong>second list</strong> has two items and uses the same blue, three-level numbering, that starts at I.3-a this time.</p>
- <p>The second rectangle contains a two-items numbered list, numbered using decimal numbers preceded by an ellipsis. After the first item there's a sublist. The sublist is indented and has blue, three level-numbering: roman, decimal and with latin letters, respectively. Numbering starts with <em>III.1-a</em>.</p>
- <ol class="part extract1">
- <li>Part I
- <ol class="chapter">
- <li>Chapter 1</li>
- <li>Chapter 2</li>
- <li>Chapter 3
- <ol class="section extract1">
- <li>Section I.3-a</li>
- <li>Section I.3-b</li>
- </ol>
- </li>
- <li>Chapter 4
- <ol class="section">
- <li>Section I.4-a</li>
- </ol>
- </li>
- </ol>
- </li>
- <li>Part II</li>
- <li>Part III
- <ol class="chapter extract2">
- <li>Chapter 1
- <ol class="section">
- <li>Section III.1-a</li>
- <li>Section III.1-b</li>
- <li>Section III.1-c</li>
- <li>Section III.1-d</li>
- </ol>
- </li>
- <li>Chapter 2</li>
- </ol>
- </li>
- </ol>
- <div class="region" id="r1"></div>
- <div class="region" id="r2"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-unordered-lists-in-regions.html b/tests/wpt/web-platform-tests/css/css-regions/counters/extract-unordered-lists-in-regions.html
deleted file mode 100644
index 3079af2d7af..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/extract-unordered-lists-in-regions.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on unordered lists - single list in named flow, multiple lists in a named flow, multiple lists with nested lists in a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to unordered lists. Multiple lists extracted in a named flow should render in regions just as without regions.">
- <link rel="match" href="reference/extract-unordered-lists-in-regions-ref.html">
- <style>
- ul {
- margin-top: 0;
- margin-bottom: 0;
- }
- ul ul {
- color: blue;
- }
- #list1 {
- flow-into: flow1;
- }
- #list21, #list22 {
- flow-into: flow2;
- }
- #list31, #list32 {
- flow-into: flow3;
- }
- #list21, #list31 {
- margin-bottom: 1em;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 20em;
- height: 15em;
- }
- #region1 {
- flow-from: flow1;
- }
- #region2 {
- flow-from: flow2;
- }
- #region3 {
- flow-from: flow3;
- }
- </style>
- </head>
- <body>
- <p>The test passes if there are three gray rectangles: the left one with a 4 items list, the middle one with two 2 items lists, the right one with two 5 items lists. <br> The blue items in the right rectangle should be indented and have a different marker.</p>
- <ul id="list1">
- <li>Unordered list, item 1</li>
- <li>Unordered list, item 2</li>
- <li>Unordered list, item 3</li>
- <li>Unordered list, item 4</li>
- </ul>
- <ul id="list21">
- <li>Unordered list 2-1, item 1</li>
- <li>Unordered list 2-1, item 2</li>
- </ul>
- <ul id="list22">
- <li>Unordered list 2-2, item 1</li>
- <li>Unordered list 2-2, item 2</li>
- </ul>
- <ul id="list31">
- <li>Unordered list 3-1, item 1</li>
- <li>Unordered list 3-1, item 2
- <ul>
- <li>First unordered inner list, item 1</li>
- <li>First unordered inner list, item 2</li>
- </ul>
- </li>
- <li>Unordered list 3-1, item 3</li>
- </ul>
- <ul id="list32">
- <li>Unordered list 3-2, item 1</li>
- <li>Unordered list 3-2, item 2</li>
- <li>Unordered list 3-2, item 3
- <ul>
- <li>Second unordered inner list, item 1</li>
- <li>Second unordered inner list, item 2</li>
- </ul>
- </li>
- </ul>
- <div class="region" id="region1"></div>
- <div class="region" id="region2"></div>
- <div class="region" id="region3"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-001-ref.html
deleted file mode 100644
index 8534f5f3af2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-001-ref.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol, ul {
- margin: 0;
- padding: 0;
- }
- .region {
- width: 200px;
- background-color: lightgray;
- margin: 1em 2em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles, each with a 4 items list in it.<br>
- The first list should not be numbered and the second should be numbered, starting at 1.<br>
- Both the list markers for the first list and the numbers for the second list should be outside of the gray rectangles.
- </p>
- <div class="region">
- <ul>
- <li>Unordered list, item 1</li>
- <li>Unordered list, item 2</li>
- <li>Unordered list, item 3</li>
- <li>Unordered list, item 4</li>
- </ul>
- </div>
- <div class="region">
- <ol>
- <li>Ordered list, item 1</li>
- <li>Ordered list, item 2</li>
- <li>Ordered list, item 3</li>
- <li>Ordered list, item 4</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-002-ref.html
deleted file mode 100644
index 4cbe060c462..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-002-ref.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ul:first-of-type, ol:first-of-type {
- color: blue;
- }
- ul:nth-of-type(3) {
- color: green;
- }
- ol, ul {
- margin: 0;
- padding: 0;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 200px;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles: the first with two numbered lists (3 items each), the second with three un-numbered lists (2 items each).<br>
- First list of each type should be blue, second list of each type should be black and the third un-ordered list should be green.
- </p>
- <p>Each numbered list should start at 1.<br>
- Both the numbers and the list markers should be outside of the gray rectangles.</p>
- <div class="region" id="r1">
- <ol>
- <li>Ordered list 1, item 1</li>
- <li>Ordered list 1, item 2</li>
- <li>Ordered list 1, item 3</li>
- </ol>
- <ol>
- <li>Ordered list 2, item 1</li>
- <li>Ordered list 2, item 2</li>
- <li>Ordered list 2, item 3</li>
- </ol>
- </div>
- <div class="region" id="r2">
- <ul>
- <li>Unordered list 1, item 1</li>
- <li>Unordered list 1, item 2</li>
- </ul>
- <ul>
- <li>Unordered list 2, item 1</li>
- <li>Unordered list 2, item 2</li>
- </ul>
- <ul>
- <li>Unordered list 3, item 1</li>
- <li>Unordered list 3, item 2</li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-003-ref.html
deleted file mode 100644
index 8c9e3ab84a7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-003-ref.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- #outer-ordered-1 {
- padding: 0;
- }
- #r2 ol, #r2 ul {
- padding: 0;
- }
-
- #outer-ordered-1 ol,
- #outer-ordered-2 ol {
- color: blue;
- }
- #outer-ordered-2 ol ol {
- color: green;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles: each with a list with another lists nested in it. The numbers for the black list in the first rectangle, and the numbers for all the lists in the second rectangle should be rendered outside of the gray boxes</p>
- <p>The list in the first rectangle should be black, with two blue nested lists in it. The nested lists should appear after the first and the second items, they should be indented and numbered starting at 1.</p>
- <p>The list in the second rectangle should be black, with a blue nested list in it that has in turn a nested green list in it. The numbers in the list items text should coincide with the list item numbers.</p>
- <div class="region" id="r1">
- <ol id="outer-ordered-1">
- <li>First ordered list, item 1
- <ol>
- <li>First inner ordered list, item 1</li>
- <li>First inner ordered list, item 2</li>
- <li>First inner ordered list, item 3</li>
- </ol>
- </li>
- <li>First ordered list, item 2
- <ol>
- <li>Second inner ordered list, item 1</li>
- <li>Second inner ordered list, item 2</li>
- </ol>
- </li>
- <li>First ordered list, item 3</li>
- </ol>
- </div>
- <div class="region" id="r2">
- <ol id="outer-ordered-2">
- <li>Second ordered list, item 1</li>
- <li>Second ordered list, item 2
- <ol>
- <li>Last inner ordered list, item 1</li>
- <li>Last inner ordered list, item 2
- <ol>
- <li>Innermost ordered list, item 1</li>
- <li>Innermost ordered list, item 2</li>
- </ol>
- </li>
- <li>Last inner ordered list, item 3</li>
- <li>Last inner ordered list, item 4</li>
- </ol>
- </li>
- <li>Second ordered list, item 3</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-004-ref.html
deleted file mode 100644
index f466c094cd0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-004-ref.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- #outer-unordered-1 {
- padding: 0;
- }
- #r2 ol, #r2 ul {
- padding: 0;
- }
-
- #outer-unordered-1 ul,
- #outer-unordered-2 ul {
- color: blue;
- }
-
- #outer-unordered-2 ul ul {
- color: green;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there are two gray rectangles: each with a list with another lists nested in it. The list markers for the black list in the first rectangle, and for all the lists in the second rectangle should be rendered outside of the gray boxes</p>
- <p>The list in the first rectangle should be black, with two blue nested lists in it. The nested lists should appear after the first and the second items, they should be indented and use a different kind of bullet.</p>
- <p>The list in the second rectangle should be black, with a blue nested list in it that has in turn a nested green list in it. Each of the black, blue and green list should use different kinds of bullets and list items of the same color should have the same kind of bullet.</p>
- <div class="region" id="r1">
- <ul id="outer-unordered-1">
- <li>First unordered list, item 1
- <ul>
- <li>First inner unordered list, item 1</li>
- <li>First inner unordered list, item 2</li>
- <li>First inner unordered list, item 3</li>
- </ul>
- </li>
- <li>First unordered list, item 2
- <ul>
- <li>Second inner unordered list, item 1</li>
- <li>Second inner unordered list, item 2</li>
- </ul>
- </li>
- <li>First unordered list, item 3</li>
- </ul>
- </div>
- <div class="region" id="r2">
- <ul id="outer-unordered-2">
- <li>Second unordered list, item 1</li>
- <li>Second unordered list, item 2
- <ul>
- <li>Last inner unordered list, item 1</li>
- <li>Last inner unordered list, item 2
- <ul>
- <li>Innermost unordered list, item 1</li>
- <li>Innermost unordered list, item 2</li>
- </ul>
- </li>
- <li>Last inner unordered list, item 3</li>
- <li>Last inner unordered list, item 4</li>
- </ul>
- </li>
- <li>Second unordered list, item 3</li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-005-ref.html
deleted file mode 100644
index f77e52c611c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-005-ref.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .outer-mixed-1 ul,
- .outer-mixed-1 ol {
- color: blue;
- }
-
- .outer-mixed-1 {
- padding: 0;
- margin: 0;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there is a gray rectangle with two black lists in it, as described below.<br>
- The first black list is a bulleted list that has a blue numbered list in it.<br>
- The second black list is a numbered list that has two blue nested lists in it: the first nested list is a bulleted list with three items, and the second list is a numbered list with two items.</p>
- <p>The numbers and bullets for the black lists should be rendered outside the gray rectangle, while the blue list items should be indented. Also, the blue bulleted list should have a different type of bullets than the black bulleted list.</p>
- <div class="region" id="r1">
- <ul class="outer-mixed-1">
- <li>Unordered list, item 1
- <ol>
- <li>Inner ordered list, item 1</li>
- <li>Inner ordered list, item 2</li>
- <li>Inner ordered list, item 3</li>
- </ol>
- </li>
- <li>Unordered list, item 2</li>
- </ul>
- <ol class="outer-mixed-1">
- <li>Ordered list, item 1
- <ul>
- <li>Unordered inner list, item 1</li>
- <li>Unordered inner list, item 2</li>
- <li>Unordered inner list, item 3</li>
- </ul>
- </li>
- <li>Ordered list, item 2
- <ol>
- <li>Second inner ordered list, item 1</li>
- <li>Second inner ordered list, item 2</li>
- </ol>
- </li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-006-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-006-ref.html
deleted file mode 100644
index a5fbc7bb0b0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-006-ref.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .outer-mixed-2 ul,
- .outer-mixed-2 ol {
- color: blue;
- }
- .outer-mixed-2 ol ul {
- color: green;
- }
- .outer-mixed-2 ol ul ol {
- color: red;
- }
- #r2 ol, #r2 ul {
- padding: 0;
- }
-
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there is a gray rectangle with a list in it, as described below. The list markers and numbers for the lists should be rendered outside of the gray rectangle.</p>
- <p>The rectangle should contain a black, bulleted list. This list should contain a blue numbered list after the second item. The numbering on the blue list should start at 1. The blue list should contain a green, bulleted list after its second item. The green bulleted list should contain a red, numbered list after its second item. The numbering on the red list should start at 1, too.<br>
- The green list should use different bullets than the black list.<br>
- None of the list items should be indented &ndash; as such, they should render as a plain list, with varying types of bullets and numberings. The sequence of the colors should be, from top to bottom: black, blue, green, red, blue, black.</p>
- <div class="region" id="r2">
- <ul class="outer-mixed-2">
- <li>Outer unordered list, item 1</li>
- <li>Outer unordered list, item 2
- <ol>
- <li>Inner ordered list, item 1</li>
- <li>Inner ordered list, item 2
- <ul>
- <li>Inner unordered list, item 1</li>
- <li>Inner unordered list, item 2
- <ol>
- <li>Innermost ordered list, item 1</li>
- <li>Innermost ordered list, item 2</li>
- <li>Innermost ordered list, item 3</li>
- </ol>
- </li>
- </ul>
- </li>
- <li>Inner ordered list, item 3</li>
- <li>Inner ordered list, item 4</li>
- </ol>
- </li>
- <li>Outer unordered list, item 3</li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-007-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-007-ref.html
deleted file mode 100644
index f7021b54dfa..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-007-ref.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol {
- margin: 0;
- padding: 0;
- }
- ol ol {
- color: blue;
- list-style-type: upper-roman;
- }
- .region {
- margin: 2em;
- background-color: lightgray;
- width: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if there is a gray rectangle with a numbered list, as described below.<br>
- The numbers for the list should be outside the rectangle and all items should render at the same indentation level.<br>
- The second and third items in the list should be blue and numbered using roman numerals, CI and C, respectively. All the other items in the list should be black and numbered with decimal numbers corresponding to the item text.<br>
- The final numbering of this list should be: 3, CI, C, 2, 1, 10, 11, 12, 13.</p>
- <div class="region" id="r1">
- <ol reversed="true">
- <li>List item no. 3
- <ol start="101" reversed>
- <li>Roman-numbered list item CI</li>
- <li>Roman-numbered list item C</li>
- </ol>
- </li>
- <li>List item no. 2</li>
- <li>List item no. 1</li>
- </ol>
- <ol start="10">
- <li>List item no. 10</li>
- <li>List item no. 11</li>
- <li>List item no. 12</li>
- <li>List item no. 13</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-008-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-008-ref.html
deleted file mode 100644
index 1fe6736777e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-008-ref.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .container {
- color: #006400;
- background-color: lightgreen;
- margin: 2em;
-
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- color: blue;
- }
- .region > ul,
- .region > ol {
- padding: 0;
- margin: 0;
- }
- .circle {
- list-style-type: circle;
- }
- .disc {
- list-style-type: disc;
- }
- .decimal {
- list-style-type: decimal;
- }
- .roman {
- list-style-type: upper-roman;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two rectangles, one green and one blue, as described below:<br>
- The green rectangle should contain two lists, separated by a small vertical space. The <strong>first list</strong> should be a numbered list starting with 2 that has 2 items; the <strong>second list</strong> should be a bullet list with 3 items, the last one being indented and with a different type of bullet.<br>
- The blue rectangle should contain a list with items numbered/marked in different ways, as follows. Except where noted, the numbers/markers should be <em>outside</em> the the blue rectangle. The <strong>first item</strong> should be numbered with the number 1, in decimal. The <strong>second item</strong> should be bulleted. The <strong>third and fourth items</strong> should be numbered with 2 and 1 respectively, with roman numerals. Also, the <strong>third item</strong> should be indented (with the number inside the blue rectangle). The <strong>fourth and fifth items</strong> should be bulleted, with the <strong>fourth item</strong> having a different kind of bullet than the second and fifth item.
- </p>
- <div class="container">
- <ol start="2" class="decimal">
- <li>Numbered list, item 2</li>
- <li>Numbered list, item 3</li>
- </ol>
- <ul class="disc">
- <li>Bullet list, item 1</li>
- <li>Bullet list, item 3
- <ul class="circle">
- <li>Bullet sub-list, item 2</li>
- </ul>
- </li>
- </ul>
- </div>
- <div class="region" id="r1">
- <ol class="decimal">
- <li>Numbered list, item 1</li>
- </ol>
- <ul class="disc">
- <li>Bullet list, item 2
- <ol class="roman" start="2">
- <li>Numbered sub-list, item II</li>
- </ol>
- </li>
- </ul>
- <ol class="roman">
- <li>Numbered sub-list, item I</li>
- </ol>
- <ul class="circle">
- <li>Bullet sub-list, item 1</li>
- </ul>
- <ul class="disc">
- <li>Bullet list, item 4</li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-009-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-009-ref.html
deleted file mode 100644
index 03553ac89e7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-009-ref.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .container {
- color: #006400;
- background-color: lightgreen;
- margin: 2em;
-
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- color: blue;
- }
- .region > ul,
- .region > ol {
- padding: 0;
- margin: 0;
- }
- .disc {
- list-style-type: disc;
- }
- .decimal {
- list-style-type: decimal;
- }
- .latin {
- list-style-type: upper-latin;
- }
- .hide {
- visibility: hidden;
- height: 0;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two rectangles, one green and one blue, as described below:<br>
- The green rectangle should contain three lists, separated by a small vertical space. The <strong>first list</strong> should be a numbered list starting at 3, with only one item. The <strong>second list</strong> should be a bulleted list with three items. The <strong>third list</strong> should be a numbered list with two items, numbered A and C respectively.<br>
- The blue rectangle should contain a list with items numbered/marked in a different ways, as follows. As opposed to the green rectangle, the numbers/markings for the list items in the blue rectangle should be outside the rectangle. The <strong>first and second items</strong> should be numbered with 1 and 2 (decimal). The <strong>third and fourth items</strong> should be bulleted. The <strong>fifth and sixth items</strong> should be numbered with B and D respectively.</p>
- <div class="container">
- <ol class="decimal" start="3">
- <li>First numbered list, item 3</li>
- </ol>
- <ul class="disc">
- <li>Bullet list, item 1</li>
- <li>Bullet list, item 3</li>
- <li>Bullet list, item 5</li>
- </ul>
- <ol class="latin" start="1">
- <li>Second numbered list, item A</li>
- <li class="hide"></li>
- <li>Second numbered list, item C</li>
- </ol>
- </div>
- <div class="region" id="r1">
- <ol class="decimal">
- <li id="theItem">First numbered list, item 1</li>
- <li class="extract">First numbered list, item 2</li>
- </ol>
- <ul class="disc">
- <li class="extract">Bullet list, item 2</li>
- <li class="extract">Bullet list, item 4</li>
- </ul>
- <ol class="latin" start="2">
- <li class="extract">Second numbered list, item B</li>
- <li class="hide"></li>
- <li class="extract">Second numbered list, item D</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-012-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-012-ref.html
deleted file mode 100644
index d8185a1a81a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-012-ref.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .first {
- list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRDAzNDVGOTNCMEQxMUUyQkVGOEU1OTA4MTYyRjA0RiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRDAzNDVGQTNCMEQxMUUyQkVGOEU1OTA4MTYyRjA0RiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZEMDM0NUY3M0IwRDExRTJCRUY4RTU5MDgxNjJGMDRGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZEMDM0NUY4M0IwRDExRTJCRUY4RTU5MDgxNjJGMDRGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+rpZ8YAAAAGlJREFUeNpi/P//PwMlgImBQoDVAEZGxv9ATLELiDKEkBcIGkJMGOA1hNhAxGkIKbHwn37RiAM0UmIASPMB7B4DJmV0DPUvDDcAsQM2dWC1BAzAq5mQAQ34NBIyoAFKOxAygJHS7AwQYAAt068AjhXk+gAAAABJRU5ErkJggg==);
- list-style-position: inside;
- }
- .second {
- list-style-type: square;
- list-style-position: outside;
- }
- .third {
- list-style-type: upper-roman;
- list-style-position: inside;
- }
- .inner {
- list-style-type: upper-alpha;
- }
- .container {
- color: #006400;
- background-color: lightgreen;
- margin: 2em;
- float: left;
- width: 20em;
- height: 20em;
- }
- .region {
- margin: 2em;
- background-color: lightblue;
- float: left;
- width: 20em;
- height: 20em;
- color: blue;
- }
-
- .region > ul,
- .region > ol {
- padding: 0;
- margin: 0;
- }
- .disc {
- list-style-type: disc;
- }
- .decimal {
- list-style-type: decimal;
- }
- .latin {
- list-style-type: upper-latin;
- }
- .hide {
- visibility: hidden;
- height: 0;
- }
- .third li {
- font-weight: bold;
- }
- .third li span {
- font-weight: normal;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two rectangles, one green and one blue, as described below. Except where noted, all list items should be rendered on two lines.<br>
- The green rectangle should contain three lists, separated by a small vertical space, each with two items. The <strong>first list</strong> should use a triangle-shaped bullet and the text on the second line should start below the bullet. The <strong>second list</strong> should use a square-shaped bullet and the text on the second line should not come under the bullet. The <strong>third list</strong> should be numbered with roman numerals starting with 20 (XX) and the text on the second line should start below the number.<br>
- The blue rectangle should contain a list with items numbered/marked in different ways, as follows. The <strong>first item</strong> should use a triangle-shaped bullet and the text on the second line should start below the bullet. The <strong>second item</strong> should use a square-shaped bullet and the bullet should be outside of the blue rectangle. The <strong>third and fourth items</strong> should be one-line and numbered with letters A and B respectively. The third item should be indented while the fourth item should have the number outside the blue rectangle. The <strong>fifth item</strong> should be numbered with the roman numeral 22 (XXII) and the text on the second line should start below the number.</p>
- <div class="container">
- <ul class="first">
- <li>Custom bullet list, item 1<br><em>Another line of text here</em></li>
- <li>Custom bullet list, item 2<br><em>Another line of text here</em></li>
- </ul>
- <ul class="second">
- <li>Square bullet list, item 1<br><em>Another line of text here</em></li>
- <li>Square bullet list, item 2<br><em>Another line of text here</em></li>
- </ul>
- <ol start="20" class="third">
- <li><span>Roman numbered list, item XX<br><em>Another line of text here</em></span></li>
- <li><span>Roman numbered list, item XXI<br><em>Another line of text here</em></span></li>
- </ol>
- </div>
- <div class="region" id="r1">
- <ul class="first">
- <li>Custom bullet list, item 3<br><em>Another line of text here</em></li>
- </ul>
- <ul class="second">
- <li>Square bullet list, item 3<br><em>Another line of text here</em>
- <ol class="inner">
- <li>Inner ordered list, item A</li>
- </ol>
- </li>
- </ul>
- <ol class="inner" start="2">
- <li>Inner ordered list, item B</li>
- </ol>
- <ol start="22" class="third">
- <li><span>Roman numbered list, item XXII<br><em>Another line of text here</em></span></li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-013-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-013-ref.html
deleted file mode 100644
index e370e38ffcd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-013-ref.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ul, ol {
- margin: 0;
- }
- .ordered {
- list-style-type: lower-latin;
- }
- .unordered {
- list-style-type: circle;
- }
- .container {
- color: #006400;
- background-color: lightgreen;
- margin: 2em;
- float: left;
- width: 15em;
- }
- .region {
- color: blue;
- margin: 2em;
- background-color: lightblue;
- float: left;
- width: 15em;
- }
-
- .region > ul,
- .region > ol {
- padding: 0;
- margin: 0;
- }
- .hide {
- visibility: hidden;
- height: 0;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two rectangles, one green and one blue, as described below.</p>
- <p>The green rectangle should contain a list with items numbered/marked as such: the <strong>first two items</strong> should be numbered with small latin letters, starting with d. The <strong>next three items</strong> should be bulleted with a circle. The numbers/bullets should all be <em>inside</em> the green rectangle.</p>
- <p>The blue rectangle should contain a list with items numbered/marked as such: the <strong>first three items</strong> should be numbered with small latin letters, starting with a. The <strong>next two items</strong> should be bulleted with a circle. The numbers/bullets should all be <em>outside</em> the blue rectangle.</p>
-
- <div class="container">
- <ul class="ordered" start="4">
- <li class="hide"></li>
- <li class="hide"></li>
- <li class="hide"></li>
- <li>Ordered list, item d</li>
- <li>Ordered list, item e</li>
- </ul>
- <ol class="unordered">
- <li>Unordered list, item 1</li>
- <li>Unordered list, item 2</li>
- <li>Unordered list, item 3</li>
- </ol>
- </div>
- <div class="region" id="r1">
- <ul class="ordered">
- <li>Ordered list, item a</li>
- <li>Ordered list, item b</li>
- <li>Ordered list, item c</li>
- </ul>
- <ol class="unordered">
- <li>Unordered list, item 4</li>
- <li>Unordered list, item 5</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-014-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-014-ref.html
deleted file mode 100644
index 2d232a9fd32..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-014-ref.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .region {
- margin-left: 2em;
- float: left;
- width: 15em;
- height: 10em;
- }
- #r1 {
- color: #006400;
- background-color: lightgreen;
- }
- #r2 {
- color: blue;
- background-color: lightblue;
- }
-
- .region > ul,
- .region > ol {
- padding: 0;
- margin: 0;
- }
-
- /* We use visibility:hidden and height:0 to visually skip list items
- while forcing the counter to increse its value. */
- .hide {
- visibility: hidden;
- height: 0;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two rectangles, one green and one blue, as follows. Each rectangle should contain a numbered list; the numbers should be rendered outside the rectangle. The items in the first list should be numbered 1, 2 and 5 respectively, while the items in the second list should be numbered 3, 4 and 6 respectively.</p>
- <div class="region" id="r1">
- <ol>
- <li>List item 1</li>
- <li>List item 2</li>
- <li class="hide"></li>
- <li class="hide"></li>
- <li>List item 5</li>
- </ol>
- </div>
- <div class="region" id="r2">
- <ol start="3">
- <li>List item 3</li>
- <li>List item 4</li>
- <li class="hide"></li>
- <li>List item 6</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-015-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-015-ref.html
deleted file mode 100644
index cc0a5ed66f2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-list-items-015-ref.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol, li {
- margin: 0;
- padding: 0;
- }
- .box {
- float: left;
- width: 20em;
- height: 10em;
- margin: 0 2em;
- }
- #container {
- background-color: lightgray;
- }
- #region {
- background-color: lightgreen;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two rectangles, each with a numbered list inside, as described below. The numbers for both of the lists should be rendered outside (to the left) of the respective rectangles.</p>
- <p>The first rectangle should be lightgray and contain a numbered list with 5 items. The items should be numbered with 2, 3, 8, 10 and 11 respectively.</p>
- <p>The second rectangle should be lightgreen and contain a numbered list with 4 items. The items should be numbered with 1, 6, 7 and 9 respectively.</p>
- <div class="box" id="container">
- <ol>
- <li value="2">List item 2</li>
- <li value="3">List item 3</li>
- <li value="8">List item 8</li>
- <li value="10">List item 10</li>
- <li value="11">List item 11</li>
- </ol>
- </div>
- <div class="box" id="region">
- <ol>
- <li value="1">List item 1</li>
- <li value="6">List item 6</li>
- <li value="7">List item 7</li>
- <li value="9">List item 9</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-001-ref.html
deleted file mode 100644
index 95080570eb6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-001-ref.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- #region {
- counter-reset: c 0;
- }
- #region p,
- #region div {
- counter-increment: c;
- margin: 1em 0;
- }
- #region p::before,
- #region div::before {
- content: "(" counter(c) ") ";
- background: darkblue;
- color: white;
- }
- #region {
- background-color: lightblue;
- border: 1px solid lightblue;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a light blue rectangle below, with eight lines of text in it. The text on each line should be black and preceded by the line number between parantheses. The line numbers should be white on a dark blue background.</p>
- <div id="region">
- <p>This is numbered line of text no. 1</p>
- <p>This is numbered line of text no. 2</p>
- <div>This is numbered line of text no. 3</div>
- <p>This is numbered line of text no. 4</p>
- <div>This is numbered line of text no. 5</div>
- <p>This is numbered line of text no. 6</p>
- <div>This is numbered line of text no. 7</div>
- <div>This is numbered line of text no. 8</div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-002-ref.html
deleted file mode 100644
index 0900b28ab06..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-divs-002-ref.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- #region {
- counter-reset: p 0 d 0;
- }
- #region p,
- #region div {
- margin: 0;
- }
- #region p,
- #region div {
- counter-increment: p d;
- }
-
- #region p::after,
- #region div::after {
- display: block;
- text-align: right;
- border-top: medium solid black;
- font-size: 200%;
- }
-
- #region p::after {
- color: red;
- content: counter(p);
- }
- #region div::after {
- color: green;
- content: counter(d);
- }
-
- #region {
- width: 20em;
- background-color: lightblue;
- border: 1px solid lightblue;
- }
- </style>
- </head>
- <body>
- <!-- Numbered <p>-s and <div>-s using different counters, displayed as blocks via ::after -->
- <p>Test passes if you see a light blue rectangle below, with eight lines of text in it. Each line of text should be black and with a thick underline. Below and to the right of each line of text you should see the number of that line, colored alternatingly red and green.</p>
- <div id="region">
- <p>This is numbered line of text no. 1</p>
- <div>This is numbered line of text no. 2</div>
- <p>This is numbered line of text no. 3</p>
- <div>This is numbered line of text no. 4</div>
- <p>This is numbered line of text no. 5</p>
- <div>This is numbered line of text no. 6</div>
- <p>This is numbered line of text no. 7</p>
- <div>This is numbered line of text no. 8</div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-ref.html
deleted file mode 100644
index 0e43bc4d835..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-paragraphs-ref.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- #region {
- counter-reset: para 0;
- }
- #region p {
- counter-increment: para;
- margin: 1em 0;
- }
- #region p::before {
- content: "(" counter(para) ") ";
- background: darkblue;
- color: white;
- }
- #region {
- background-color: lightblue;
- border: 1px solid lightblue;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a light blue rectangle below, with five lines of text in it. Each line of text should be black and preceded by the line number between parantheses. The line numbers should be white on a dark blue background.</p>
- <div id="region">
- <p>This is numbered paragraph no. 1</p>
- <p>This is numbered paragraph no. 2</p>
- <p>This is numbered paragraph no. 3</p>
- <p>This is numbered paragraph no. 4</p>
- <p>This is numbered paragraph no. 5</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-spans-display-only-some-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-spans-display-only-some-ref.html
deleted file mode 100644
index cfbc9e0bb38..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-numbered-spans-display-only-some-ref.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- span {
- counter-increment: spans 1;
- }
- #region {
- counter-reset: spans 0;
- }
- span::before {
- display: inline-block;
- content: counter(spans) ".";
- width: 2em;
- margin: 0 .5em;
- background: green;
- color: white;
- text-align: center;
- }
-
- #region {
- background-color: lightblue;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a light blue rectangle below, with three blocks of black text on a single line. Each block of text should be numbered from 1 to 3 and contain the text &ldquo;Visible text <em>n</em>&rdquo; with <em>n</em> ranging from 1 to 3. The numbering should be white on a green background.</p>
- <div id="region">
- <span>Visible text 1</span><span>Visible text 2</span><span>Visible text 3</span>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-001-ref.html
deleted file mode 100644
index 9a9268bede7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-001-ref.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol {
- margin-top: 0;
- margin-bottom: 0;
- }
- ol ol {
- color: blue;
- list-style-type: lower-roman;
- }
- #list21, #list31 {
- margin-bottom: 1em;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>The test passes if there are three gray rectangles: the left one with a 4 items list, the middle one with two 2 items lists, the right one with two 5 items lists. <br> The blue items in the right rectangle should be indented and numbered using roman numerals.</p>
- <div class="region" id="region1">
- <ol id="list1">
- <li>First list, item 1</li>
- <li>First list, item 2</li>
- <li>First list, item 3</li>
- <li>First list, item 4</li>
- </ol>
- </div>
- <div class="region" id="region2">
- <ol id="list21">
- <li>List 2-1, item 1</li>
- <li>List 2-1, item 2</li>
- </ol>
- <ol id="list22">
- <li>List 2-2, item 1</li>
- <li>List 2-2, item 2</li>
- </ol>
- </div>
- <div class="region" id="region3">
- <ol id="list31">
- <li>List 3-1, item 1</li>
- <li>List 3-1, item 2
- <ol>
- <li>First inner list, item i</li>
- <li>First inner list, item ii</li>
- </ol>
- </li>
- <li>List 3-1, item 3</li>
- </ol>
- <ol id="list32">
- <li>List 3-2, item 1</li>
- <li>List 3-2, item 2</li>
- <li>List 3-2, item 3
- <ol>
- <li>Second inner list, item i</li>
- <li>Second inner list, item ii</li>
- </ol>
- </li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html
deleted file mode 100644
index f72e368aec8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-002-ref.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol {
- margin: 0;
- }
- ol ol,
- .inner {
- color: blue;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 15em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see three gray rectangles with a number of lists inside each, as follows.</p>
- <p>The first rectangle should contain a black numbered list, with the numbers in reverse order. After the first item there should a be a blue numbered list, indented and numbered in normal order.</p>
- <p>The second rectangle should contain two numbered list. The first one should be black and numbered in reverse order while the second should be blue and numbered in normal order. They should both have the same indentation level.</p>
- <p>The third rectangle should contain two black, numbered lists, the first with three items, the second with two items. Both lists should be numbered in reverse.</p>
- <div class="region" id="r1">
- <ol id="ordered-1" reversed="reversed">
- <li>First reversed list, item 3
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- </ol>
- </li>
- <li>First reversed list, item 2</li>
- <li>First reversed list, item 1</li>
- </ol>
- </div>
-
- <div class="region" id="r2">
- <ol id="ordered-2" reversed>
- <li>Second reversed list, item 3</li>
- <li>Second reversed list, item 2</li>
- <li>Second reversed list, item 1</li>
- </ol>
- <ol class="inner">
- <li>Second inner list, item 1</li>
- <li>Second inner list, item 2</li>
- <li>Second inner list, item 3</li>
- </ol>
- </div>
-
- <div class="region" id="r3">
- <ol class="ordered-3" reversed="true">
- <li>Third reversed list, item 3</li>
- <li>Third reversed list, item 2</li>
- <li>Third reversed list, item 1</li>
- </ol>
- <ol class="ordered-3" reversed="true">
- <li>Final reversed list, item 2</li>
- <li>Final reversed list, item 1</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-003-ref.html
deleted file mode 100644
index 29396b40160..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-003-ref.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol {
- margin: 0;
- }
- ol ol,
- .inner {
- color: blue;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see three gray rectangles with a number of lists inside each, as follows.</p>
- <p>The first rectangle should contain a black numbered list, with the numbering starting at 3. After the first item there should a be a blue numbered list, indented, with numbering starting at 10.</p>
- <p>The second rectangle should contain two numbered list. The first one should be black with numbering starting at 10, while the second should be blue and with the numbering starting at 0. They should both have the same indentation level.</p>
- <p>The third rectangle should contain a single numbered list, that's reversed, with the first item being numbered 5.</p>
- <div class="region" id="r1">
- <ol id="ordered-1" start="3">
- <li>First ordered list, item 3
- <ol start="10">
- <li>Inner ordered list, item 10</li>
- <li>Inner ordered list, item 11</li>
- </ol>
- </li>
- <li>First ordered list, item 4</li>
- <li>First ordered list, item 5</li>
- </ol>
- </div>
-
- <div class="region" id="r2">
- <ol id="ordered-2" start="10">
- <li>Second ordered list, item 10</li>
- <li>Second ordered list, item 11</li>
- <li>Second ordered list, item 12</li>
- </ol>
- <ol class="inner" start="0">
- <li>Inner ordered list, item 0</li>
- <li>Inner ordered list, item 1</li>
- <li>Inner ordered list, item 2</li>
- </ol>
- </div>
-
- <div class="region" id="r3">
- <ol class="ordered-3" reversed="true">
- <li>Reversed ordered list, item 5</li>
- <li>Reversed ordered list, item 4</li>
- <li>Reversed ordered list, item 3</li>
- <li>Reversed ordered list, item 2</li>
- <li>Reversed ordered list, item 1</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html
deleted file mode 100644
index 6fceac57c8c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-001-ref.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol {
- list-style-type: none;
- counter-reset: items 0;
- }
- ol>li {
- counter-increment: items;
- }
- li::before {
- content: counter(items) ". ";
- display: inline-block;
- width: 1.5em;
- margin-right: .3em;
- text-align: right;
- }
-
- ol.double>li {
- counter-increment: items 2;
- }
- ol.double>li::before {
- content: counter(items, upper-latin) ". ";
- }
-
- ol.down-ten {
- counter-reset: items 11;
- }
- ol.down-ten>li {
- counter-increment: items -1;
- }
- ol.down-ten>li::before {
- content: counter(items, upper-roman) ". ";
- width: 2em;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 18em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>The test passes if there are three gray rectangles as follows:<br>
- 1. the first one contains a numbered, 4 items list<br>
- 2. the second contains two numbered, 3 items lists &ndash; each list uses letters for numbering, starting with 'B.' and skipping every other letter (<em>e.g.</em> B, D, F)<br>
- 3. the last rectangle contains a descending numbered list: it's numbered using roman numerals, starting at X (10), in decreasing order; after the second item there's an inner numbered list with 2 items, again descendingly numbered with roman numerals, starting at 10; finally, before the last item there's another inner numbered list with 2 items, labeled with letters, more precisely, the letters B and D</p>
- <div class="region" id="region1">
- <ol id="list1">
- <li>First list, item 1</li>
- <li>First list, item 2</li>
- <li>First list, item 3</li>
- <li>First list, item 4</li>
- </ol>
- </div>
- <div class="region" id="region2">
- <ol id="list21" class="double">
- <li>List 2-1, item B</li>
- <li>List 2-1, item D</li>
- <li>List 2-1, item F</li>
- </ol>
- <ol id="list22" class="double" start="4">
- <li>List 2-2, item B</li>
- <li>List 2-2, item D</li>
- <li>List 2-2, item F</li>
- </ol>
- </div>
- <div class="region" id="region3">
- <ol id="list31" class="down-ten">
- <li>Outer list, item X</li>
- <li>Outer list, item IX
- <ol class="down-ten">
- <li>Inner list 1, item X</li>
- <li>Inner list 1, item IX</li>
- </ol>
- </li>
- <li>Outer list, item VIII</li>
- <li>Outer list, item VII</li>
- <li>Outer list, item VI
- <ol class="double">
- <li>Inner list 2, item B</li>
- <li>Inner list 2, item D</li>
- </ol>
- </li>
- <li>Outer list, item V</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html
deleted file mode 100644
index 59ffd424fc7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-002-ref.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- #list1 ol, ul {
- counter-reset: items 0;
- padding-left: 2em;
- }
- li {
- counter-increment: items 1;
- list-style-type: none;
- }
- .twice>li {
- counter-increment: items 2;
- }
- li::before {
- content: counters(items, ".") ". ";
- display: inline-block;
- margin-right: .3em;
- text-align: right;
- }
- .roman>li::before {
- content: counters(items, ".", upper-roman) ". ";
- }
- .disc>li::before {
- content: counter(items, disc) " ";
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see a gray rectangle with a list containing sublists as follows: the outermost list items should be numbered using roman numerals; the second-level list should be a bullet list with two items; the innermost list should be numbered using three levels of decimal numbers (<em>e.g.</em> 2.1.1).</p>
- <div class="region" id="r1">
- <ol class="roman" id="list1">
- <li>Roman list, item I</li>
- <li>Roman list, item II
- <ul class="disc">
- <li>Bullet 1
- <ol>
- <li>Sub-point 2.1.1</li>
- <li>Sub-point 2.1.2</li>
- </ol>
- </li>
- <li>Bullet 2
- <ol>
- <li>Sub-point 2.2.1</li>
- <li>Sub-point 2.2.2</li>
- <li>Sub-point 2.2.3</li>
- <li>Sub-point 2.2.4</li>
- </ol>
- </li>
- </ul>
- </li>
- <li>Roman list, item III</li>
- <li>Roman list, item IV</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html
deleted file mode 100644
index 4ebc8d2a4c5..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-003-ref.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ol, ul {
- counter-reset: items 0;
- padding-left: 2em;
- }
- li {
- counter-increment: items 1;
- list-style-type: none;
- }
- .twice>li {
- counter-increment: items 2;
- }
- li::before {
- content: counters(items, ".") ". ";
- display: inline-block;
- margin-right: .3em;
- text-align: right;
- }
- .roman>li::before {
- content: counters(items, ".", upper-roman) ". ";
- }
- .latin>li::before {
- content: counters(items, ".", upper-latin) ". ";
- }
- .disc>li::before {
- content: counter(items, disc) " ";
- }
-
- .slim-wrap {
- counter-reset: items 2;
- padding-left: 0;
- margin-top: 0;
- margin-bottom: 0;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 17em;
- height: 20em;
- }
-
- #r1 {
- color: #006400;
- background-color: lightgreen;
- }
- #r2 {
- color: blue;
- background-color: lightblue;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two rectangles, one green and one blue, as described below.</p>
- <p>The green rectangle should contain two lists, <em>one numbered</em> and <em>one bulleted</em>. The <strong>numbered list</strong> should be numbered with roman numerals. Inside it, after the second item there should be a two items bulleted list that's indented. After the first bullet there should a three items numbered list. The numbering for this list should use three levels of period separated decimal numbers (<em>e.g.</em> 2.1.1). The <strong>bulleted list</strong> should have 4 items and the same indentation as the roman-numbered list above it.</p>
- <p>The blue rectangle should contain a four items numbered list. The numbering for this list should use three levels of period separated decimal numbers, starting at 2.2.1.</p>
-
- <div class="region" id="r1">
- <ol class="roman extract1">
- <li>Roman list, item I</li>
- <li>Roman list, item II
- <ul class="disc">
- <li>Bullet 1
- <ol>
- <li>Sub-point 2.1.1</li>
- <li>Sub-point 2.1.2</li>
- </ol>
- </li>
- <li>Bullet 2
- </li>
- </ul>
- </li>
- <li>Roman list, item III</li>
- <li>Roman list, item IV</li>
- </ol>
- <ul class="disc extract1">
- <li>Another bullet 1</li>
- <li>Another bullet 2</li>
- <li>Another bullet 3</li>
- <li>Another bullet 4</li>
- </ul>
- </div>
- <div class="region" id="r2">
- <ol class="slim-wrap">
- <ol class="slim-wrap">
- <ol>
- <li>Sub-point 2.2.1</li>
- <li>Sub-point 2.2.2</li>
- <li>Sub-point 2.2.3</li>
- <li>Sub-point 2.2.4</li>
- </ol>
- </ol>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html
deleted file mode 100644
index db766225565..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-004-ref.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- /*Lists setup*/
- ol {
- padding-left: 1em;
- }
- ol>li {
- list-style-type: none;
- }
- ol.part {
- counter-reset: part 0;
- }
- ol.part>li {
- counter-increment: part;
- }
- ol.part>li::before {
- content: counter(part, upper-roman) " ";
- font-weight: bold;
- }
- ol.chapter {
- counter-reset: chapter 0;
- }
- ol.chapter>li {
- counter-increment: chapter;
- }
- ol.chapter>li::before {
- content: counter(chapter, decimal) ". ";
- }
- ol.section {
- counter-reset: section 0;
- }
- ol.section>li {
- counter-increment: section;
- }
- ol.section>li::before {
- content: counter(part, upper-roman) "." counter(chapter, decimal) "-" counter(section, lower-latin) " ";
- color: blue;
- }
- /*Extracted content setup*/
- ol.part1-chap3-section {
- counter-reset: part 1 chapter 3;
- }
- ol.part3-chap {
- counter-reset: part 3;
- }
- .slim {
- margin-top: 0;
- margin-bottom: 0;
- }
- /*Regions setup*/
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 20em;
- height: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two gray rectangles, as described below.</p>
- <p>The first rectangle contains two numbered lists. The <strong>first list</strong> has three items and is numbered using bold roman numerals, starting at 1 (I). After the first item there's a numbered sublist; it is indented and has four items, numbered using decimal numbers, starting at 1. After the last item in this sublist there's a single item numbered list; the numbering is blue and uses three levels of numbering: roman, decimal and with latin letters, respectively; numbering starts with I.4-a. The <strong>second list</strong> has two items and uses the same blue, three-level numbering, that starts at I.3-a this time.</p>
- <p>The second rectangle contains a two-items numbered list, numbered using decimal numbers. After the first item there's a sublist. The sublist is indented and has blue, three level-numbering: roman, decimal and with latin letters, respectively. Numbering starts with <em>III.1-a</em>.</p>
- <div class="region" id="r1">
- <ol class="part">
- <li>Part I
- <ol class="chapter">
- <li>Chapter 1</li>
- <li>Chapter 2</li>
- <li>Chapter 3
- </li>
- <li>Chapter 4
- <ol class="section">
- <li>Section I.4-a</li>
- </ol>
- </li>
- </ol>
- </li>
- <li>Part II</li>
- <li>Part III
- </li>
- </ol>
- <ol class="section part1-chap3-section">
- <li>Section I.3-a</li>
- <li>Section I.3-b</li>
- </ol>
- </div>
- <div class="region" id="r2">
- <ol class="chapter part3-chap slim">
- <li>Chapter 1
- <ol class="section">
- <li>Section III.1-a</li>
- <li>Section III.1-b</li>
- <li>Section III.1-c</li>
- <li>Section III.1-d</li>
- </ol>
- </li>
- <li>Chapter 2</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html
deleted file mode 100644
index fdca5850e77..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-ordered-lists-in-regions-explicit-counters-005-ref.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- /*Lists setup*/
- ol {
- padding-left: 1em;
- }
- ol>li {
- display: block;
- position: relative;
- }
- li::after {
- position: absolute;
- top: 0;
- right: 0;
- margin-right: .5em;
- }
- ol.part {
- counter-reset: part 0;
- }
- ol.part>li {
- counter-increment: part;
- }
- ol.part>li::after {
- content: counter(part, upper-roman) " ";
- font-weight: bold;
- }
-
- ol.chapter {
- counter-reset: chapter 0;
- }
- ol.chapter>li {
- counter-increment: chapter;
- }
- ol.chapter>li::after {
- content: "\2026\ " counter(chapter, decimal);
- }
-
- ol.section {
- counter-reset: section 0;
- }
- ol.section>li {
- counter-increment: section;
- }
- ol.section>li::after {
- content: counter(part, upper-roman) "." counter(chapter, decimal) "-" counter(section, lower-latin) " ";
- color: blue;
- }
- /*Extracted content setup*/
- ol.part1-chap3-section {
- counter-reset: part 1 chapter 3;
- }
- ol.part3-chap {
- counter-reset: part 3;
- }
- .slim {
- margin-top: 0;
- margin-bottom: 0;
- }
- /*Regions setup*/
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 20em;
- height: 20em;
- }
- </style>
- </head>
- <body>
- <p>This test passes if you see two gray rectangles, as described below. All numbering should be aligned to the right margin of the rectangles.</p>
- <p>The first rectangle contains two numbered lists. The <strong>first list</strong> has three items and is numbered using bold roman numerals, starting at 1 (I). After the first item there's a numbered sublist; it is indented and has four items, numbered using decimal numbers preceded by an ellipsis (&hellip;), starting at 1. After the last item in this sublist there's a single item numbered list; the numbering is blue and uses three levels of numbering: roman, decimal and with latin letters, respectively; numbering starts with I.4-a. The <strong>second list</strong> has two items and uses the same blue, three-level numbering, that starts at I.3-a this time.</p>
- <p>The second rectangle contains a two-items numbered list, numbered using decimal numbers preceded by an ellipsis. After the first item there's a sublist. The sublist is indented and has blue, three level-numbering: roman, decimal and with latin letters, respectively. Numbering starts with <em>III.1-a</em>.</p>
- <div class="region" id="r1">
- <ol class="part">
- <li>Part I
- <ol class="chapter">
- <li>Chapter 1</li>
- <li>Chapter 2</li>
- <li>Chapter 3
- </li>
- <li>Chapter 4
- <ol class="section">
- <li>Section I.4-a</li>
- </ol>
- </li>
- </ol>
- </li>
- <li>Part II</li>
- <li>Part III
- </li>
- </ol>
- <ol class="section part1-chap3-section">
- <li>Section I.3-a</li>
- <li>Section I.3-b</li>
- </ol>
- </div>
- <div class="region" id="r2">
- <ol class="chapter part3-chap slim">
- <li>Chapter 1
- <ol class="section">
- <li>Section III.1-a</li>
- <li>Section III.1-b</li>
- <li>Section III.1-c</li>
- <li>Section III.1-d</li>
- </ol>
- </li>
- <li>Chapter 2</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-unordered-lists-in-regions-ref.html b/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-unordered-lists-in-regions-ref.html
deleted file mode 100644
index b1b1fb534b6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/counters/reference/extract-unordered-lists-in-regions-ref.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- ul {
- margin-top: 0;
- margin-bottom: 0;
- }
- ul ul {
- color: blue;
- }
- #list21, #list31 {
- margin-bottom: 1em;
- }
-
- .region {
- background-color: lightgray;
- margin: 1em;
- float: left;
- width: 20em;
- height: 15em;
- }
- </style>
- </head>
- <body>
- <p>The test passes if there are three gray rectangles: the left one with a 4 items list, the middle one with two 2 items lists, the right one with two 5 items lists. <br> The blue items in the right rectangle should be indented and have a different marker.</p>
- <div class="region" id="region1">
- <ul id="list1">
- <li>Unordered list, item 1</li>
- <li>Unordered list, item 2</li>
- <li>Unordered list, item 3</li>
- <li>Unordered list, item 4</li>
- </ul>
- </div>
- <div class="region" id="region2">
- <ul id="list21">
- <li>Unordered list 2-1, item 1</li>
- <li>Unordered list 2-1, item 2</li>
- </ul>
- <ul id="list22">
- <li>Unordered list 2-2, item 1</li>
- <li>Unordered list 2-2, item 2</li>
- </ul>
- </div>
- <div class="region" id="region3">
- <ul id="list31">
- <li>Unordered list 3-1, item 1</li>
- <li>Unordered list 3-1, item 2
- <ul>
- <li>First unordered inner list, item 1</li>
- <li>First unordered inner list, item 2</li>
- </ul>
- </li>
- <li>Unordered list 3-1, item 3</li>
- </ul>
- <ul id="list32">
- <li>Unordered list 3-2, item 1</li>
- <li>Unordered list 3-2, item 2</li>
- <li>Unordered list 3-2, item 3
- <ul>
- <li>Second unordered inner list, item 1</li>
- <li>Second unordered inner list, item 2</li>
- </ul>
- </li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/cssomview-apis-no-region-chain-001.html b/tests/wpt/web-platform-tests/css/css-regions/cssomview-apis-no-region-chain-001.html
deleted file mode 100644
index 841862899fb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/cssomview-apis-no-region-chain-001.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: CSSOM pre-existing APIs with no region chain</title>
- <link rel="author" title="Adobe" href="http://html.adobe.com/">
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com">
- <link rel="reviewer" title="" href="">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#cssomview-and-regions">
- <meta name="assert" content="CSSOM View attributes give 'no layout box' result for named flows with no region chain">
- <meta name="flags" content="dom">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <div id="log"></div>
- <script type="text/javascript">
-
- function testZeroAttribute(tag_name, attribute_name) {
- var element = document.createElement(tag_name);
- document.body.appendChild(element);
- element.style.setProperty("position", "relative");
- element.style.setProperty("left", "10px");
- element.style.setProperty("top", "10px");
- element.style.setProperty("width", "100px");
- element.style.setProperty("height", "100px");
- element.style.setProperty("flow-into", "named-flow");
- var valueInNamedFlow = element[attribute_name];
- document.body.removeChild(element);
- return valueInNamedFlow;
- }
-
- var zeroAttributes = [
- ["div", "offsetTop"],
- ["div", "offsetLeft"],
- ["div", "offsetWidth"],
- ["div", "offsetHeight"],
- ["img", "offsetTop"],
- ["img", "offsetLeft"],
- ["img", "offsetWidth"],
- ["img", "offsetHeight"],
- ["img", "x"],
- ["img", "y"],
- ];
-
- function testOffsetParent() {
- var element = document.createElement("div");
- document.body.appendChild(element);
- element.style.setProperty("flow-into", "named-flow");
- var offsetParentInNamedFlow = element.offsetParent;
- document.body.removeChild(element);
- return offsetParentInNamedFlow;
- }
-
- function testGetClientRects() {
- var element = document.createElement("div");
- document.body.appendChild(element);
- element.style.setProperty("flow-into", "named-flow");
- var clientRectList = element.getClientRects();
- document.body.removeChild(element);
- return clientRectList;
- }
-
- function testGetBoundingClientRect() {
- var element = document.createElement("div");
- document.body.appendChild(element);
- element.style.setProperty("flow-into", "named-flow");
- element.style.setProperty("width", "100px");
- element.style.setProperty("height", "100px");
- var domRect = element.getBoundingClientRect();
- document.body.removeChild(element);
- return [
- domRect.x,
- domRect.y,
- domRect.width,
- domRect.height
- ];
- }
-
- zeroAttributes.forEach(function(name) {
- test (function() { assert_equals(testZeroAttribute(name[0], name[1]), 0)},
- "test " + name[1] + " for " + name[0])
- }
- );
-
- test (function() { assert_equals(testOffsetParent(), null)},
- "test that offsetParent is null");
-
- test (function() { assert_equals(testGetClientRects().length, 0)},
- "test that getClientRects() returns an empty list");
-
- test (function() { assert_equals(testGetBoundingClientRect(), [0,0,0,0])},
- "test that getBoundingClientRect() returns a zeroed-out DOMRect");
-
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-001.html b/tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-001.html
deleted file mode 100644
index eff860c8441..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-001.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: rendering 3D canvas elements inside regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-functions">
- <meta name="assert" content="Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region.">
- <meta name="flags" content="dom">
- <link rel="match" href="reference/canvas3d-001-ref.html">
- <script type="text/javascript" src="support/Three.js"></script>
- <script type="text/javascript" src="support/static-cube.js"></script>
- <style>
- .flow {
- flow-into: f;
- width: 400px;
- height: 300px;
- }
-
- .region {
- flow-from: f;
- width: 400px;
- height: 300px;
- border: 2px solid black;
- }
- .region p {
- background-color: red;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
-
- <div id="container" class="flow">
- <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-002.html b/tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-002.html
deleted file mode 100644
index 04c01be65dd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/canvas3d-002.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: rendering text flowed in a region on top of 3D content</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-functions">
- <meta name="assert" content="Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly.">
- <meta name="flags" content="dom">
- <link rel="match" href="reference/canvas3d-002-ref.html">
- <script type="text/javascript" src="support/Three.js"></script>
- <script type="text/javascript" src="support/static-cube.js"></script>
- <style>
- .flow {
- flow-into: f;
- }
-
- #container {
- width: 400px;
- height: 300px;
- }
-
- .region {
- flow-from: f;
- width: 200px;
- height: 300px;
- margin: -250px 100px 0px 100px;
- }
- .region p {
- background-color: red;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
-
- <div class="flow">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.</div>
- <div id="container">
- <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/iframe-001.html b/tests/wpt/web-platform-tests/css/css-regions/elements/iframe-001.html
deleted file mode 100644
index 66c50f57bf3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/iframe-001.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: flowing an iframe that loads content with 3D transform</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-functions">
- <meta name="assert" content="Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts.">
- <meta name="flags" content="ahem">
- <link rel="match" href="reference/iframe-001-ref.html">
- <style>
- .flow {
- flow-into: f;
- }
-
- .region {
- flow-from: f;
- width: 400px;
- height: 300px;
- }
- .region p {
- background-color: red;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see horizontal green rectangle and no red.</p>
-
- <iframe src="support/3d-filler.html" frameborder="0" class="flow" width="400" height="300"></iframe>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-001-ref.html
deleted file mode 100644
index d17694470f2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-001-ref.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <script type="text/javascript" src="../support/Three.js"></script>
- <script type="text/javascript" src="../support/static-cube.js"></script>
- <style>
- .flow,
- .region {
- width: 400px;
- height: 300px;
- }
-
- .region {
- border: 2px solid black;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
-
- <div class="region">
- <div id="container" class="flow">
- <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-002-ref.html
deleted file mode 100644
index 3c743a3b2c0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/reference/canvas3d-002-ref.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <script type="text/javascript" src="../support/Three.js"></script>
- <script type="text/javascript" src="../support/static-cube.js"></script>
- <style>
- #container {
- width: 400px;
- height: 300px;
- }
-
- .region {
- width: 200px;
- height: 300px;
- margin: -250px 100px 0px 100px;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
-
- <div id="container">
- <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
- </div>
- <div class="region">
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/reference/iframe-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/elements/reference/iframe-001-ref.html
deleted file mode 100644
index 17d5b5a1f32..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/reference/iframe-001-ref.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .region {
- width: 400px;
- height: 300px;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see horizontal green rectangle and no red.</p>
-
- <div class="region">
- <iframe src="../support/3d-filler.html" frameborder="0" class="flow" width="400" height="300"></iframe>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/support/3d-filler.html b/tests/wpt/web-platform-tests/css/css-regions/elements/support/3d-filler.html
deleted file mode 100644
index 1ff6323f7eb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/support/3d-filler.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>3D transformed Lorem Ipsum</title>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- body > p {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- float: left;
- position: relative;
- }
- .transformed {
- transform: rotateX(0.001deg) rotateZ(-90deg);
- transform-origin: top center;
- }
- .front {
- z-index: 10;
- }
- .back {
- z-index: 0;
- }
- .marker {
- color: red;
- }
- </style>
-</head>
-<body>
- <p class="transformed front">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- </p>
- <p class="marker back">
- xx<br>
- xx
- </p>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/support/Three.js b/tests/wpt/web-platform-tests/css/css-regions/elements/support/Three.js
deleted file mode 100644
index 60747148474..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/support/Three.js
+++ /dev/null
@@ -1,682 +0,0 @@
-// Three.js r44 - http://github.com/mrdoob/three.js
-var THREE=THREE||{};if(!window.Int32Array)window.Int32Array=Array,window.Float32Array=Array;THREE.Color=function(b){b!==void 0&&this.setHex(b);return this};
-THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(b){this.r=b.r;this.g=b.g;this.b=b.b;return this},setRGB:function(b,c,e){this.r=b;this.g=c;this.b=e;return this},setHSV:function(b,c,e){var f,h,m;if(e==0)this.r=this.g=this.b=0;else switch(f=Math.floor(b*6),h=b*6-f,b=e*(1-c),m=e*(1-c*h),c=e*(1-c*(1-h)),f){case 1:this.r=m;this.g=e;this.b=b;break;case 2:this.r=b;this.g=e;this.b=c;break;case 3:this.r=b;this.g=m;this.b=e;break;case 4:this.r=c;this.g=b;this.b=e;break;case 5:this.r=
-e;this.g=b;this.b=m;break;case 6:case 0:this.r=e,this.g=c,this.b=b}return this},setHex:function(b){b=Math.floor(b);this.r=(b>>16&255)/255;this.g=(b>>8&255)/255;this.b=(b&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};
-THREE.Vector2=function(b,c){this.x=b||0;this.y=c||0};
-THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(b,c){this.x=b;this.y=c;return this},copy:function(b){this.x=b.x;this.y=b.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;return this},
-divideScalar:function(b){b?(this.x/=b,this.y/=b):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){var c=this.x-b.x,b=this.y-b.y;return c*c+b*b},setLength:function(b){return this.normalize().multiplyScalar(b)},
-equals:function(b){return b.x==this.x&&b.y==this.y}};THREE.Vector3=function(b,c,e){this.x=b||0;this.y=c||0;this.z=e||0};
-THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(b,c,e){this.x=b;this.y=c;this.z=e;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;return this},addScalar:function(b){this.x+=b;this.y+=b;this.z+=b;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=
-b.z-c.z;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;return this},multiply:function(b,c){this.x=b.x*c.x;this.y=b.y*c.y;this.z=b.z*c.z;return this},multiplySelf:function(b){this.x*=b.x;this.y*=b.y;this.z*=b.z;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;return this},divideSelf:function(b){this.x/=b.x;this.y/=b.y;this.z/=b.z;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b):this.set(0,0,0);return this},negate:function(){return this.multiplyScalar(-1)},
-dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},cross:function(b,c){this.x=b.y*c.z-b.z*c.y;this.y=b.z*c.x-b.x*c.z;this.z=b.x*c.y-b.y*c.x;return this},crossSelf:function(b){return this.set(this.y*
-b.z-this.z*b.y,this.z*b.x-this.x*b.z,this.x*b.y-this.y*b.x)},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){return(new THREE.Vector3).sub(this,b).lengthSq()},setPositionFromMatrix:function(b){this.x=b.n14;this.y=b.n24;this.z=b.n34},setRotationFromMatrix:function(b){var c=Math.cos(this.y);this.y=Math.asin(b.n13);Math.abs(c)>1.0E-5?(this.x=Math.atan2(-b.n23/c,b.n33/c),this.z=Math.atan2(-b.n12/c,b.n11/c)):(this.x=0,this.z=Math.atan2(b.n21,b.n22))},isZero:function(){return this.lengthSq()<
-1.0E-4}};THREE.Vector4=function(b,c,e,f){this.x=b||0;this.y=c||0;this.z=e||0;this.w=f||1};
-THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w||1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;this.w=b.w+c.w;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;this.w+=b.w;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=b.z-c.z;this.w=
-b.w-c.w;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;this.w-=b.w;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;this.w*=b;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b,this.w/=b):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z+this.w*b.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},
-normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},lerpSelf:function(b,c){this.x+=(b.x-this.x)*c;this.y+=(b.y-this.y)*c;this.z+=(b.z-this.z)*c;this.w+=(b.w-this.w)*c;return this}};THREE.Ray=function(b,c){this.origin=b||new THREE.Vector3;this.direction=c||new THREE.Vector3};
-THREE.Ray.prototype={constructor:THREE.Ray,intersectScene:function(b){return this.intersectObjects(b.objects)},intersectObjects:function(b){var c,e,f=[];c=0;for(e=b.length;c<e;c++)f=f.concat(this.intersectObject(b[c]));f.sort(function(b,e){return b.distance-e.distance});return f},intersectObject:function(b){function c(b,e,c){var f;f=c.clone().subSelf(b).dot(e);if(f<=0)return null;b=b.clone().addSelf(e.clone().multiplyScalar(f));return c.distanceTo(b)}function e(b,e,c,f){var f=f.clone().subSelf(e),
-c=c.clone().subSelf(e),h=b.clone().subSelf(e),b=f.dot(f),e=f.dot(c),f=f.dot(h),k=c.dot(c),c=c.dot(h),h=1/(b*k-e*e),k=(k*f-e*c)*h,b=(b*c-e*f)*h;return k>0&&b>0&&k+b<1}if(b instanceof THREE.Particle){var f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.scale.x)return[];return[{distance:f,point:b.position,face:null,object:b}]}else if(b instanceof THREE.Mesh){f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.geometry.boundingSphere.radius*Math.max(b.scale.x,
-Math.max(b.scale.y,b.scale.z)))return[];var h,m,k,n,u,p,v,t,x,w,z=b.geometry,y=z.vertices,B=[],f=0;for(h=z.faces.length;f<h;f++)if(m=z.faces[f],x=this.origin.clone(),w=this.direction.clone(),p=b.matrixWorld,k=p.multiplyVector3(m.centroid.clone()).subSelf(x),t=k.dot(w),!(t<=0)&&(k=p.multiplyVector3(y[m.a].position.clone()),n=p.multiplyVector3(y[m.b].position.clone()),u=p.multiplyVector3(y[m.c].position.clone()),p=m instanceof THREE.Face4?p.multiplyVector3(y[m.d].position.clone()):null,v=b.matrixRotationWorld.multiplyVector3(m.normal.clone()),
-t=w.dot(v),b.doubleSided||(b.flipSided?t>0:t<0)))if(t=v.dot((new THREE.Vector3).sub(k,x))/t,x=x.addSelf(w.multiplyScalar(t)),m instanceof THREE.Face3)e(x,k,n,u)&&(m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m));else if(m instanceof THREE.Face4&&(e(x,k,n,p)||e(x,n,u,p)))m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m);B.sort(function(b,e){return b.distance-e.distance});return B}else return[]}};
-THREE.Rectangle=function(){function b(){m=f-c;k=h-e}var c,e,f,h,m,k,n=!0;this.getX=function(){return c};this.getY=function(){return e};this.getWidth=function(){return m};this.getHeight=function(){return k};this.getLeft=function(){return c};this.getTop=function(){return e};this.getRight=function(){return f};this.getBottom=function(){return h};this.set=function(k,m,v,t){n=!1;c=k;e=m;f=v;h=t;b()};this.addPoint=function(k,m){n?(n=!1,c=k,e=m,f=k,h=m):(c=c<k?c:k,e=e<m?e:m,f=f>k?f:k,h=h>m?h:m);b()};this.add3Points=
-function(k,m,v,t,x,w){n?(n=!1,c=k<v?k<x?k:x:v<x?v:x,e=m<t?m<w?m:w:t<w?t:w,f=k>v?k>x?k:x:v>x?v:x,h=m>t?m>w?m:w:t>w?t:w):(c=k<v?k<x?k<c?k:c:x<c?x:c:v<x?v<c?v:c:x<c?x:c,e=m<t?m<w?m<e?m:e:w<e?w:e:t<w?t<e?t:e:w<e?w:e,f=k>v?k>x?k>f?k:f:x>f?x:f:v>x?v>f?v:f:x>f?x:f,h=m>t?m>w?m>h?m:h:w>h?w:h:t>w?t>h?t:h:w>h?w:h);b()};this.addRectangle=function(k){n?(n=!1,c=k.getLeft(),e=k.getTop(),f=k.getRight(),h=k.getBottom()):(c=c<k.getLeft()?c:k.getLeft(),e=e<k.getTop()?e:k.getTop(),f=f>k.getRight()?f:k.getRight(),h=h>
-k.getBottom()?h:k.getBottom());b()};this.inflate=function(k){c-=k;e-=k;f+=k;h+=k;b()};this.minSelf=function(k){c=c>k.getLeft()?c:k.getLeft();e=e>k.getTop()?e:k.getTop();f=f<k.getRight()?f:k.getRight();h=h<k.getBottom()?h:k.getBottom();b()};this.instersects=function(b){return Math.min(f,b.getRight())-Math.max(c,b.getLeft())>=0&&Math.min(h,b.getBottom())-Math.max(e,b.getTop())>=0};this.empty=function(){n=!0;h=f=e=c=0;b()};this.isEmpty=function(){return n}};THREE.Matrix3=function(){this.m=[]};
-THREE.Matrix3.prototype={constructor:THREE.Matrix3,transpose:function(){var b,c=this.m;b=c[1];c[1]=c[3];c[3]=b;b=c[2];c[2]=c[6];c[6]=b;b=c[5];c[5]=c[7];c[7]=b;return this},transposeIntoArray:function(b){var c=this.m;b[0]=c[0];b[1]=c[3];b[2]=c[6];b[3]=c[1];b[4]=c[4];b[5]=c[7];b[6]=c[2];b[7]=c[5];b[8]=c[8];return this}};THREE.Matrix4=function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.set(b||1,c||0,e||0,f||0,h||0,m||1,k||0,n||0,u||0,p||0,v||1,t||0,x||0,w||0,z||0,y||1);this.flat=Array(16);this.m33=new THREE.Matrix3};
-THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.n11=b;this.n12=c;this.n13=e;this.n14=f;this.n21=h;this.n22=m;this.n23=k;this.n24=n;this.n31=u;this.n32=p;this.n33=v;this.n34=t;this.n41=x;this.n42=w;this.n43=z;this.n44=y;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(b){this.set(b.n11,b.n12,b.n13,b.n14,b.n21,b.n22,b.n23,b.n24,b.n31,b.n32,b.n33,b.n34,b.n41,b.n42,b.n43,b.n44);return this},lookAt:function(b,
-c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;m.sub(b,c).normalize();if(m.length()===0)m.z=1;f.cross(e,m).normalize();f.length()===0&&(m.x+=1.0E-4,f.cross(e,m).normalize());h.cross(m,f).normalize();this.n11=f.x;this.n12=h.x;this.n13=m.x;this.n21=f.y;this.n22=h.y;this.n23=m.y;this.n31=f.z;this.n32=h.z;this.n33=m.z;return this},multiplyVector3:function(b){var c=b.x,e=b.y,f=b.z,h=1/(this.n41*c+this.n42*e+this.n43*f+this.n44);b.x=(this.n11*c+this.n12*e+this.n13*f+this.n14)*h;
-b.y=(this.n21*c+this.n22*e+this.n23*f+this.n24)*h;b.z=(this.n31*c+this.n32*e+this.n33*f+this.n34)*h;return b},multiplyVector4:function(b){var c=b.x,e=b.y,f=b.z,h=b.w;b.x=this.n11*c+this.n12*e+this.n13*f+this.n14*h;b.y=this.n21*c+this.n22*e+this.n23*f+this.n24*h;b.z=this.n31*c+this.n32*e+this.n33*f+this.n34*h;b.w=this.n41*c+this.n42*e+this.n43*f+this.n44*h;return b},rotateAxis:function(b){var c=b.x,e=b.y,f=b.z;b.x=c*this.n11+e*this.n12+f*this.n13;b.y=c*this.n21+e*this.n22+f*this.n23;b.z=c*this.n31+
-e*this.n32+f*this.n33;b.normalize();return b},crossVector:function(b){var c=new THREE.Vector4;c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=b.w?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44,G=c.n11,H=c.n12,
-E=c.n13,N=c.n14,F=c.n21,I=c.n22,C=c.n23,K=c.n24,U=c.n31,L=c.n32,O=c.n33,S=c.n34,P=c.n41,o=c.n42,W=c.n43,na=c.n44;this.n11=e*G+f*F+h*U+m*P;this.n12=e*H+f*I+h*L+m*o;this.n13=e*E+f*C+h*O+m*W;this.n14=e*N+f*K+h*S+m*na;this.n21=k*G+n*F+u*U+p*P;this.n22=k*H+n*I+u*L+p*o;this.n23=k*E+n*C+u*O+p*W;this.n24=k*N+n*K+u*S+p*na;this.n31=v*G+t*F+x*U+w*P;this.n32=v*H+t*I+x*L+w*o;this.n33=v*E+t*C+x*O+w*W;this.n34=v*N+t*K+x*S+w*na;this.n41=z*G+y*F+B*U+D*P;this.n42=z*H+y*I+B*L+D*o;this.n43=z*E+y*C+B*O+D*W;this.n44=z*
-N+y*K+B*S+D*na;return this},multiplyToArray:function(b,c,e){this.multiply(b,c);e[0]=this.n11;e[1]=this.n21;e[2]=this.n31;e[3]=this.n41;e[4]=this.n12;e[5]=this.n22;e[6]=this.n32;e[7]=this.n42;e[8]=this.n13;e[9]=this.n23;e[10]=this.n33;e[11]=this.n43;e[12]=this.n14;e[13]=this.n24;e[14]=this.n34;e[15]=this.n44;return this},multiplySelf:function(b){this.multiply(this,b);return this},multiplyScalar:function(b){this.n11*=b;this.n12*=b;this.n13*=b;this.n14*=b;this.n21*=b;this.n22*=b;this.n23*=b;this.n24*=
-b;this.n31*=b;this.n32*=b;this.n33*=b;this.n34*=b;this.n41*=b;this.n42*=b;this.n43*=b;this.n44*=b;return this},determinant:function(){var b=this.n11,c=this.n12,e=this.n13,f=this.n14,h=this.n21,m=this.n22,k=this.n23,n=this.n24,u=this.n31,p=this.n32,v=this.n33,t=this.n34,x=this.n41,w=this.n42,z=this.n43,y=this.n44;return f*k*p*x-e*n*p*x-f*m*v*x+c*n*v*x+e*m*t*x-c*k*t*x-f*k*u*w+e*n*u*w+f*h*v*w-b*n*v*w-e*h*t*w+b*k*t*w+f*m*u*z-c*n*u*z-f*h*p*z+b*n*p*z+c*h*t*z-b*m*t*z-e*m*u*y+c*k*u*y+e*h*p*y-b*k*p*y-c*h*
-v*y+b*m*v*y},transpose:function(){var b;b=this.n21;this.n21=this.n12;this.n12=b;b=this.n31;this.n31=this.n13;this.n13=b;b=this.n32;this.n32=this.n23;this.n23=b;b=this.n41;this.n41=this.n14;this.n14=b;b=this.n42;this.n42=this.n24;this.n24=b;b=this.n43;this.n43=this.n34;this.n43=b;return this},clone:function(){var b=new THREE.Matrix4;b.n11=this.n11;b.n12=this.n12;b.n13=this.n13;b.n14=this.n14;b.n21=this.n21;b.n22=this.n22;b.n23=this.n23;b.n24=this.n24;b.n31=this.n31;b.n32=this.n32;b.n33=this.n33;b.n34=
-this.n34;b.n41=this.n41;b.n42=this.n42;b.n43=this.n43;b.n44=this.n44;return b},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(b){b[0]=
-this.n11;b[1]=this.n21;b[2]=this.n31;b[3]=this.n41;b[4]=this.n12;b[5]=this.n22;b[6]=this.n32;b[7]=this.n42;b[8]=this.n13;b[9]=this.n23;b[10]=this.n33;b[11]=this.n43;b[12]=this.n14;b[13]=this.n24;b[14]=this.n34;b[15]=this.n44;return b},flattenToArrayOffset:function(b,c){b[c]=this.n11;b[c+1]=this.n21;b[c+2]=this.n31;b[c+3]=this.n41;b[c+4]=this.n12;b[c+5]=this.n22;b[c+6]=this.n32;b[c+7]=this.n42;b[c+8]=this.n13;b[c+9]=this.n23;b[c+10]=this.n33;b[c+11]=this.n43;b[c+12]=this.n14;b[c+13]=this.n24;b[c+14]=
-this.n34;b[c+15]=this.n44;return b},setTranslation:function(b,c,e){this.set(1,0,0,b,0,1,0,c,0,0,1,e,0,0,0,1);return this},setScale:function(b,c,e){this.set(b,0,0,0,0,c,0,0,0,0,e,0,0,0,0,1);return this},setRotationX:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(1,0,0,0,0,c,-b,0,0,b,c,0,0,0,0,1);return this},setRotationY:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,0,b,0,0,1,0,0,-b,0,c,0,0,0,0,1);return this},setRotationZ:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,-b,0,
-0,b,c,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(b,c){var e=Math.cos(c),f=Math.sin(c),h=1-e,m=b.x,k=b.y,n=b.z,u=h*m,p=h*k;this.set(u*m+e,u*k-f*n,u*n+f*k,0,u*k+f*n,p*k+e,p*n-f*m,0,u*n-f*k,p*n+f*m,h*n*n+e,0,0,0,0,1);return this},setPosition:function(b){this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},getPosition:function(){if(!this.position)this.position=new THREE.Vector3;this.position.set(this.n14,this.n24,this.n34);return this.position},getColumnX:function(){if(!this.columnX)this.columnX=
-new THREE.Vector3;this.columnX.set(this.n11,this.n21,this.n31);return this.columnX},getColumnY:function(){if(!this.columnY)this.columnY=new THREE.Vector3;this.columnY.set(this.n12,this.n22,this.n32);return this.columnY},getColumnZ:function(){if(!this.columnZ)this.columnZ=new THREE.Vector3;this.columnZ.set(this.n13,this.n23,this.n33);return this.columnZ},setRotationFromEuler:function(b,c){var e=b.x,f=b.y,h=b.z,m=Math.cos(e),e=Math.sin(e),k=Math.cos(f),f=Math.sin(f),n=Math.cos(h),h=Math.sin(h);switch(c){case "YXZ":var u=
-k*n,p=k*h,v=f*n,t=f*h;this.n11=u+t*e;this.n12=v*e-p;this.n13=m*f;this.n21=m*h;this.n22=m*n;this.n23=-e;this.n31=p*e-v;this.n32=t+u*e;this.n33=m*k;break;case "ZXY":u=k*n;p=k*h;v=f*n;t=f*h;this.n11=u-t*e;this.n12=-m*h;this.n13=v+p*e;this.n21=p+v*e;this.n22=m*n;this.n23=t-u*e;this.n31=-m*f;this.n32=e;this.n33=m*k;break;case "ZYX":u=m*n;p=m*h;v=e*n;t=e*h;this.n11=k*n;this.n12=v*f-p;this.n13=u*f+t;this.n21=k*h;this.n22=t*f+u;this.n23=p*f-v;this.n31=-f;this.n32=e*k;this.n33=m*k;break;case "YZX":u=m*k;p=
-m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=t-u*h;this.n13=v*h+p;this.n21=h;this.n22=m*n;this.n23=-e*n;this.n31=-f*n;this.n32=p*h+v;this.n33=u-t*h;break;case "XZY":u=m*k;p=m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=-h;this.n13=f*n;this.n21=u*h+t;this.n22=m*n;this.n23=p*h-v;this.n31=v*h-p;this.n32=e*n;this.n33=t*h+u;break;default:u=m*n,p=m*h,v=e*n,t=e*h,this.n11=k*n,this.n12=-k*h,this.n13=f,this.n21=p+v*f,this.n22=u-t*f,this.n23=-e*k,this.n31=t-u*f,this.n32=v+p*f,this.n33=m*k}return this},setRotationFromQuaternion:function(b){var c=
-b.x,e=b.y,f=b.z,h=b.w,m=c+c,k=e+e,n=f+f,b=c*m,u=c*k;c*=n;var p=e*k;e*=n;f*=n;m*=h;k*=h;h*=n;this.n11=1-(p+f);this.n12=u-h;this.n13=c+k;this.n21=u+h;this.n22=1-(b+f);this.n23=e-m;this.n31=c-k;this.n32=e+m;this.n33=1-(b+p);return this},scale:function(b){var c=b.x,e=b.y,b=b.z;this.n11*=c;this.n12*=e;this.n13*=b;this.n21*=c;this.n22*=e;this.n23*=b;this.n31*=c;this.n32*=e;this.n33*=b;this.n41*=c;this.n42*=e;this.n43*=b;return this},compose:function(b,c,e){var f=THREE.Matrix4.__m1,h=THREE.Matrix4.__m2;
-f.identity();f.setRotationFromQuaternion(c);h.setScale(e.x,e.y,e.z);this.multiply(f,h);this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},decompose:function(b,c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;f.set(this.n11,this.n21,this.n31);h.set(this.n12,this.n22,this.n32);m.set(this.n13,this.n23,this.n33);b=b instanceof THREE.Vector3?b:new THREE.Vector3;c=c instanceof THREE.Quaternion?c:new THREE.Quaternion;e=e instanceof THREE.Vector3?e:new THREE.Vector3;e.x=f.length();
-e.y=h.length();e.z=m.length();b.x=this.n14;b.y=this.n24;b.z=this.n34;f=THREE.Matrix4.__m1;f.copy(this);f.n11/=e.x;f.n21/=e.x;f.n31/=e.x;f.n12/=e.y;f.n22/=e.y;f.n32/=e.y;f.n13/=e.z;f.n23/=e.z;f.n33/=e.z;c.setFromRotationMatrix(f);return[b,c,e]},extractPosition:function(b){this.n14=b.n14;this.n24=b.n24;this.n34=b.n34},extractRotation:function(b,c){var e=1/c.x,f=1/c.y,h=1/c.z;this.n11=b.n11*e;this.n21=b.n21*e;this.n31=b.n31*e;this.n12=b.n12*f;this.n22=b.n22*f;this.n32=b.n32*f;this.n13=b.n13*h;this.n23=
-b.n23*h;this.n33=b.n33*h}};
-THREE.Matrix4.makeInvert=function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44;c===void 0&&(c=new THREE.Matrix4);c.n11=u*w*y-p*x*y+p*t*B-n*w*B-u*t*D+n*x*D;c.n12=m*x*y-h*w*y-m*t*B+f*w*B+h*t*D-f*x*D;c.n13=h*p*y-m*u*y+m*n*B-f*p*B-h*n*D+f*u*D;c.n14=m*u*t-h*p*t-m*n*x+f*p*x+h*n*w-f*u*w;c.n21=p*x*z-u*w*z-p*v*B+k*w*B+u*v*D-k*x*D;c.n22=h*w*z-m*x*z+m*v*B-e*w*B-h*v*D+e*x*D;c.n23=m*u*z-h*p*z-m*k*B+e*p*B+h*k*D-e*u*D;c.n24=
-h*p*v-m*u*v+m*k*x-e*p*x-h*k*w+e*u*w;c.n31=n*w*z-p*t*z+p*v*y-k*w*y-n*v*D+k*t*D;c.n32=m*t*z-f*w*z-m*v*y+e*w*y+f*v*D-e*t*D;c.n33=h*p*z-m*n*z+m*k*y-e*p*y-f*k*D+e*n*D;c.n34=m*n*v-f*p*v-m*k*t+e*p*t+f*k*w-e*n*w;c.n41=u*t*z-n*x*z-u*v*y+k*x*y+n*v*B-k*t*B;c.n42=f*x*z-h*t*z+h*v*y-e*x*y-f*v*B+e*t*B;c.n43=h*n*z-f*u*z-h*k*y+e*u*y+f*k*B-e*n*B;c.n44=f*u*v-h*n*v+h*k*t-e*u*t-f*k*x+e*n*x;c.multiplyScalar(1/b.determinant());return c};
-THREE.Matrix4.makeInvert3x3=function(b){var c=b.m33,e=c.m,f=b.n33*b.n22-b.n32*b.n23,h=-b.n33*b.n21+b.n31*b.n23,m=b.n32*b.n21-b.n31*b.n22,k=-b.n33*b.n12+b.n32*b.n13,n=b.n33*b.n11-b.n31*b.n13,u=-b.n32*b.n11+b.n31*b.n12,p=b.n23*b.n12-b.n22*b.n13,v=-b.n23*b.n11+b.n21*b.n13,t=b.n22*b.n11-b.n21*b.n12,b=b.n11*f+b.n21*k+b.n31*p;b==0&&console.error("THREE.Matrix4.makeInvert3x3: Matrix not invertible.");b=1/b;e[0]=b*f;e[1]=b*h;e[2]=b*m;e[3]=b*k;e[4]=b*n;e[5]=b*u;e[6]=b*p;e[7]=b*v;e[8]=b*t;return c};
-THREE.Matrix4.makeFrustum=function(b,c,e,f,h,m){var k;k=new THREE.Matrix4;k.n11=2*h/(c-b);k.n12=0;k.n13=(c+b)/(c-b);k.n14=0;k.n21=0;k.n22=2*h/(f-e);k.n23=(f+e)/(f-e);k.n24=0;k.n31=0;k.n32=0;k.n33=-(m+h)/(m-h);k.n34=-2*m*h/(m-h);k.n41=0;k.n42=0;k.n43=-1;k.n44=0;return k};THREE.Matrix4.makePerspective=function(b,c,e,f){var h,b=e*Math.tan(b*Math.PI/360);h=-b;return THREE.Matrix4.makeFrustum(h*c,b*c,h,b,e,f)};
-THREE.Matrix4.makeOrtho=function(b,c,e,f,h,m){var k,n,u,p;k=new THREE.Matrix4;n=c-b;u=e-f;p=m-h;k.n11=2/n;k.n12=0;k.n13=0;k.n14=-((c+b)/n);k.n21=0;k.n22=2/u;k.n23=0;k.n24=-((e+f)/u);k.n31=0;k.n32=0;k.n33=-2/p;k.n34=-((m+h)/p);k.n41=0;k.n42=0;k.n43=0;k.n44=1;return k};THREE.Matrix4.__v1=new THREE.Vector3;THREE.Matrix4.__v2=new THREE.Vector3;THREE.Matrix4.__v3=new THREE.Vector3;THREE.Matrix4.__m1=new THREE.Matrix4;THREE.Matrix4.__m2=new THREE.Matrix4;
-THREE.Object3D=function(){this.id=THREE.Object3DCount++;this.name="";this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder="XYZ";this.scale=new THREE.Vector3(1,1,1);this.flipSided=this.doubleSided=this.dynamic=!1;this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
-!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.boundRadius=0;this.boundRadiusScale=1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
-THREE.Object3D.prototype={constructor:THREE.Object3D,translate:function(b,c){this.matrix.rotateAxis(c);this.position.addSelf(c.multiplyScalar(b))},translateX:function(b){this.translate(b,this._vector.set(1,0,0))},translateY:function(b){this.translate(b,this._vector.set(0,1,0))},translateZ:function(b){this.translate(b,this._vector.set(0,0,1))},lookAt:function(b){this.matrix.lookAt(b,this.position,this.up);this.rotationAutoUpdate&&this.rotation.setRotationFromMatrix(this.matrix)},addChild:function(b){if(this.children.indexOf(b)===
--1){b.parent!==void 0&&b.parent.removeChild(b);b.parent=this;this.children.push(b);for(var c=this;c.parent!==void 0;)c=c.parent;c!==void 0&&c instanceof THREE.Scene&&c.addChildRecurse(b)}},removeChild:function(b){var c=this.children.indexOf(b);if(c!==-1)b.parent=void 0,this.children.splice(c,1)},getChildByName:function(b,c){var e,f,h;e=0;for(f=this.children.length;e<f;e++){h=this.children[e];if(h.name===b)return h;if(c&&(h=h.getChildByName(b,c),h!==void 0))return h}},updateMatrix:function(){this.matrix.setPosition(this.position);
-this.useQuaternion?this.matrix.setRotationFromQuaternion(this.quaternion):this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder);if(this.scale.x!==1||this.scale.y!==1||this.scale.z!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,Math.max(this.scale.y,this.scale.z));this.matrixWorldNeedsUpdate=!0},update:function(b,c,e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||c)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),
-this.matrixRotationWorld.extractRotation(this.matrixWorld,this.scale),this.matrixWorldNeedsUpdate=!1,c=!0;for(var b=0,f=this.children.length;b<f;b++)this.children[b].update(this.matrixWorld,c,e)}};THREE.Object3DCount=0;
-THREE.Projector=function(){function b(){var b=u[n]=u[n]||new THREE.RenderableVertex;n++;return b}function c(b,e){return e.z-b.z}function e(b,e){var c=0,f=1,k=b.z+b.w,h=e.z+e.w,m=-b.z+b.w,n=-e.z+e.w;return k>=0&&h>=0&&m>=0&&n>=0?!0:k<0&&h<0||m<0&&n<0?!1:(k<0?c=Math.max(c,k/(k-h)):h<0&&(f=Math.min(f,k/(k-h))),m<0?c=Math.max(c,m/(m-n)):n<0&&(f=Math.min(f,m/(m-n))),f<c?!1:(b.lerpSelf(e,c),e.lerpSelf(b,1-f),!0))}var f,h,m=[],k,n,u=[],p,v,t=[],x,w=[],z,y,B=[],D,G,H=[],E=[],N=[],F=new THREE.Vector4,I=new THREE.Vector4,
-C=new THREE.Matrix4,K=new THREE.Matrix4,U=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],L=new THREE.Vector4,O=new THREE.Vector4;this.projectVector=function(b,e){C.multiply(e.projectionMatrix,e.matrixWorldInverse);C.multiplyVector3(b);return b};this.unprojectVector=function(b,e){C.multiply(e.matrixWorld,THREE.Matrix4.makeInvert(e.projectionMatrix));C.multiplyVector3(b);return b};this.projectObjects=function(b,e,k){var n,u;h=E.length=0;
-n=b.objects;b=0;for(e=n.length;b<e;b++){u=n[b];var w;if(!(w=!u.visible))if(w=u instanceof THREE.Mesh)if(w=u.frustumCulled){a:{w=void 0;for(var t=u.matrixWorld,p=-u.geometry.boundingSphere.radius*Math.max(u.scale.x,Math.max(u.scale.y,u.scale.z)),v=0;v<6;v++)if(w=U[v].x*t.n14+U[v].y*t.n24+U[v].z*t.n34+U[v].w,w<=p){w=!1;break a}w=!0}w=!w}if(!w)w=m[h]=m[h]||new THREE.RenderableObject,h++,f=w,F.copy(u.position),C.multiplyVector3(F),f.object=u,f.z=F.z,E.push(f)}k&&E.sort(c);return E};this.projectScene=
-function(f,h,m){var E=h.near,F=h.far,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa,V,pa,va,ra;G=y=x=v=N.length=0;h.matrixAutoUpdate&&h.update(void 0,!0);f.update(void 0,!1,h);C.multiply(h.projectionMatrix,h.matrixWorldInverse);U[0].set(C.n41-C.n11,C.n42-C.n12,C.n43-C.n13,C.n44-C.n14);U[1].set(C.n41+C.n11,C.n42+C.n12,C.n43+C.n13,C.n44+C.n14);U[2].set(C.n41+C.n21,C.n42+C.n22,C.n43+C.n23,C.n44+C.n24);U[3].set(C.n41-C.n21,C.n42-C.n22,C.n43-C.n23,C.n44-C.n24);U[4].set(C.n41-C.n31,C.n42-C.n32,C.n43-C.n33,C.n44-C.n34);
-U[5].set(C.n41+C.n31,C.n42+C.n32,C.n43+C.n33,C.n44+C.n34);for(R=0;R<6;R++)ca=U[R],ca.divideScalar(Math.sqrt(ca.x*ca.x+ca.y*ca.y+ca.z*ca.z));ca=this.projectObjects(f,h,!0);f=0;for(R=ca.length;f<R;f++)if(X=ca[f].object,X.visible)if(ja=X.matrixWorld,ea=X.matrixRotationWorld,qa=X.materials,V=X.overdraw,n=0,X instanceof THREE.Mesh){pa=X.geometry;ma=pa.vertices;va=pa.faces;pa=pa.faceVertexUvs;ia=0;for(aa=ma.length;ia<aa;ia++)k=b(),k.positionWorld.copy(ma[ia].position),ja.multiplyVector3(k.positionWorld),
-k.positionScreen.copy(k.positionWorld),C.multiplyVector4(k.positionScreen),k.positionScreen.x/=k.positionScreen.w,k.positionScreen.y/=k.positionScreen.w,k.visible=k.positionScreen.z>E&&k.positionScreen.z<F;ma=0;for(ia=va.length;ma<ia;ma++){aa=va[ma];if(aa instanceof THREE.Face3)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],fa.visible&&ga.visible&&da.visible&&(X.doubleSided||X.flipSided!=(da.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-(da.positionScreen.y-fa.positionScreen.y)*
-(ga.positionScreen.x-fa.positionScreen.x)<0))$=t[v]=t[v]||new THREE.RenderableFace3,v++,p=$,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da);else continue;else if(aa instanceof THREE.Face4)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],$=u[aa.d],fa.visible&&ga.visible&&da.visible&&$.visible&&(X.doubleSided||X.flipSided!=(($.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-($.positionScreen.y-fa.positionScreen.y)*(ga.positionScreen.x-fa.positionScreen.x)<0||(ga.positionScreen.x-da.positionScreen.x)*
-($.positionScreen.y-da.positionScreen.y)-(ga.positionScreen.y-da.positionScreen.y)*($.positionScreen.x-da.positionScreen.x)<0)))ra=w[x]=w[x]||new THREE.RenderableFace4,x++,p=ra,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da),p.v4.copy($);else continue;p.normalWorld.copy(aa.normal);ea.multiplyVector3(p.normalWorld);p.centroidWorld.copy(aa.centroid);ja.multiplyVector3(p.centroidWorld);p.centroidScreen.copy(p.centroidWorld);C.multiplyVector3(p.centroidScreen);da=aa.vertexNormals;fa=0;for(ga=da.length;fa<ga;fa++)$=
-p.vertexNormalsWorld[fa],$.copy(da[fa]),ea.multiplyVector3($);fa=0;for(ga=pa.length;fa<ga;fa++)if(ra=pa[fa][ma]){da=0;for($=ra.length;da<$;da++)p.uvs[fa][da]=ra[da]}p.meshMaterials=qa;p.faceMaterials=aa.materials;p.overdraw=V;p.z=p.centroidScreen.z;N.push(p)}}else if(X instanceof THREE.Line){K.multiply(C,ja);ma=X.geometry.vertices;fa=b();fa.positionScreen.copy(ma[0].position);K.multiplyVector4(fa.positionScreen);ia=1;for(aa=ma.length;ia<aa;ia++)if(fa=b(),fa.positionScreen.copy(ma[ia].position),K.multiplyVector4(fa.positionScreen),
-ga=u[n-2],L.copy(fa.positionScreen),O.copy(ga.positionScreen),e(L,O))L.multiplyScalar(1/L.w),O.multiplyScalar(1/O.w),ja=B[y]=B[y]||new THREE.RenderableLine,y++,z=ja,z.v1.positionScreen.copy(L),z.v2.positionScreen.copy(O),z.z=Math.max(L.z,O.z),z.materials=X.materials,N.push(z)}else if(X instanceof THREE.Particle&&(I.set(X.matrixWorld.n14,X.matrixWorld.n24,X.matrixWorld.n34,1),C.multiplyVector4(I),I.z/=I.w,I.z>0&&I.z<1))ja=H[G]=H[G]||new THREE.RenderableParticle,G++,D=ja,D.x=I.x/I.w,D.y=I.y/I.w,D.z=
-I.z,D.rotation=X.rotation.z,D.scale.x=X.scale.x*Math.abs(D.x-(I.x+h.projectionMatrix.n11)/(I.w+h.projectionMatrix.n14)),D.scale.y=X.scale.y*Math.abs(D.y-(I.y+h.projectionMatrix.n22)/(I.w+h.projectionMatrix.n24)),D.materials=X.materials,N.push(D);m&&N.sort(c);return N}};THREE.Quaternion=function(b,c,e,f){this.set(b||0,c||0,e||0,f!==void 0?f:1)};
-THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w;return this},setFromEuler:function(b){var c=0.5*Math.PI/360,e=b.x*c,f=b.y*c,h=b.z*c,b=Math.cos(f),f=Math.sin(f),c=Math.cos(-h),h=Math.sin(-h),m=Math.cos(e),e=Math.sin(e),k=b*c,n=f*h;this.w=k*m-n*e;this.x=k*e+n*m;this.y=f*c*m+b*h*e;this.z=b*h*m-f*c*e;return this},setFromAxisAngle:function(b,c){var e=c/2,f=Math.sin(e);
-this.x=b.x*f;this.y=b.y*f;this.z=b.z*f;this.w=Math.cos(e);return this},setFromRotationMatrix:function(b){var c=Math.pow(b.determinant(),1/3);this.w=Math.sqrt(Math.max(0,c+b.n11+b.n22+b.n33))/2;this.x=Math.sqrt(Math.max(0,c+b.n11-b.n22-b.n33))/2;this.y=Math.sqrt(Math.max(0,c-b.n11+b.n22-b.n33))/2;this.z=Math.sqrt(Math.max(0,c-b.n11-b.n22+b.n33))/2;this.x=b.n32-b.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=b.n13-b.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=b.n21-b.n12<0?-Math.abs(this.z):Math.abs(this.z);
-this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var b=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);b==0?this.w=this.z=this.y=this.x=0:(b=1/b,this.x*=b,this.y*=b,this.z*=b,this.w*=b);return this},multiplySelf:function(b){var c=
-this.x,e=this.y,f=this.z,h=this.w,m=b.x,k=b.y,n=b.z,b=b.w;this.x=c*b+h*m+e*n-f*k;this.y=e*b+h*k+f*m-c*n;this.z=f*b+h*n+c*k-e*m;this.w=h*b-c*m-e*k-f*n;return this},multiply:function(b,c){this.x=b.x*c.w+b.y*c.z-b.z*c.y+b.w*c.x;this.y=-b.x*c.z+b.y*c.w+b.z*c.x+b.w*c.y;this.z=b.x*c.y-b.y*c.x+b.z*c.w+b.w*c.z;this.w=-b.x*c.x-b.y*c.y-b.z*c.z+b.w*c.w;return this},multiplyVector3:function(b,c){c||(c=b);var e=b.x,f=b.y,h=b.z,m=this.x,k=this.y,n=this.z,u=this.w,p=u*e+k*h-n*f,v=u*f+n*e-m*h,t=u*h+m*f-k*e,e=-m*
-e-k*f-n*h;c.x=p*u+e*-m+v*-n-t*-k;c.y=v*u+e*-k+t*-m-p*-n;c.z=t*u+e*-n+p*-k-v*-m;return c}};THREE.Quaternion.slerp=function(b,c,e,f){var h=b.w*c.w+b.x*c.x+b.y*c.y+b.z*c.z;if(Math.abs(h)>=1)return e.w=b.w,e.x=b.x,e.y=b.y,e.z=b.z,e;var m=Math.acos(h),k=Math.sqrt(1-h*h);if(Math.abs(k)<0.001)return e.w=0.5*(b.w+c.w),e.x=0.5*(b.x+c.x),e.y=0.5*(b.y+c.y),e.z=0.5*(b.z+c.z),e;h=Math.sin((1-f)*m)/k;f=Math.sin(f*m)/k;e.w=b.w*h+c.w*f;e.x=b.x*h+c.x*f;e.y=b.y*h+c.y*f;e.z=b.z*h+c.z*f;return e};
-THREE.Vertex=function(b){this.position=b||new THREE.Vector3};THREE.Face3=function(b,c,e,f,h,m){this.a=b;this.b=c;this.c=e;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=h instanceof THREE.Color?h:new THREE.Color;this.vertexColors=h instanceof Array?h:[];this.vertexTangents=[];this.materials=m instanceof Array?m:[m];this.centroid=new THREE.Vector3};
-THREE.Face4=function(b,c,e,f,h,m,k){this.a=b;this.b=c;this.c=e;this.d=f;this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3;this.vertexNormals=h instanceof Array?h:[];this.color=m instanceof THREE.Color?m:new THREE.Color;this.vertexColors=m instanceof Array?m:[];this.vertexTangents=[];this.materials=k instanceof Array?k:[k];this.centroid=new THREE.Vector3};THREE.UV=function(b,c){this.u=b||0;this.v=c||0};
-THREE.UV.prototype={constructor:THREE.UV,set:function(b,c){this.u=b;this.v=c;return this},copy:function(b){this.u=b.u;this.v=b.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}};
-THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.faces=[];this.edges=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1};
-THREE.Geometry.prototype={constructor:THREE.Geometry,computeCentroids:function(){var b,c,e;b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e.centroid.set(0,0,0),e instanceof THREE.Face3?(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),e.centroid.divideScalar(3)):e instanceof THREE.Face4&&(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),
-e.centroid.addSelf(this.vertices[e.d].position),e.centroid.divideScalar(4))},computeFaceNormals:function(b){var c,e,f,h,m,k,n=new THREE.Vector3,u=new THREE.Vector3;f=0;for(h=this.faces.length;f<h;f++){m=this.faces[f];if(b&&m.vertexNormals.length){n.set(0,0,0);c=0;for(e=m.vertexNormals.length;c<e;c++)n.addSelf(m.vertexNormals[c]);n.divideScalar(3)}else c=this.vertices[m.a],e=this.vertices[m.b],k=this.vertices[m.c],n.sub(k.position,e.position),u.sub(c.position,e.position),n.crossSelf(u);n.isZero()||
-n.normalize();m.normal.copy(n)}},computeVertexNormals:function(){var b,c,e,f;if(this.__tmpVertices==void 0){f=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)f[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)if(e=this.faces[b],e instanceof THREE.Face3)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(e instanceof THREE.Face4)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}else{f=
-this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)f[b].set(0,0,0)}b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal)):e instanceof THREE.Face4&&(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal),f[e.d].addSelf(e.normal));b=0;for(c=this.vertices.length;b<c;b++)f[b].normalize();b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(e.vertexNormals[0].copy(f[e.a]),
-e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c])):e instanceof THREE.Face4&&(e.vertexNormals[0].copy(f[e.a]),e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c]),e.vertexNormals[3].copy(f[e.d]))},computeTangents:function(){function b(b,e,c,f,h,m,o){n=b.vertices[e].position;u=b.vertices[c].position;p=b.vertices[f].position;v=k[h];t=k[m];x=k[o];w=u.x-n.x;z=p.x-n.x;y=u.y-n.y;B=p.y-n.y;D=u.z-n.z;G=p.z-n.z;H=t.u-v.u;E=x.u-v.u;N=t.v-v.v;F=x.v-v.v;I=1/(H*F-E*N);L.set((F*w-N*z)*
-I,(F*y-N*B)*I,(F*D-N*G)*I);O.set((H*z-E*w)*I,(H*B-E*y)*I,(H*G-E*D)*I);K[e].addSelf(L);K[c].addSelf(L);K[f].addSelf(L);U[e].addSelf(O);U[c].addSelf(O);U[f].addSelf(O)}var c,e,f,h,m,k,n,u,p,v,t,x,w,z,y,B,D,G,H,E,N,F,I,C,K=[],U=[],L=new THREE.Vector3,O=new THREE.Vector3,S=new THREE.Vector3,P=new THREE.Vector3,o=new THREE.Vector3;c=0;for(e=this.vertices.length;c<e;c++)K[c]=new THREE.Vector3,U[c]=new THREE.Vector3;c=0;for(e=this.faces.length;c<e;c++)m=this.faces[c],k=this.faceVertexUvs[0][c],m instanceof
-THREE.Face3?b(this,m.a,m.b,m.c,0,1,2):m instanceof THREE.Face4&&(b(this,m.a,m.b,m.c,0,1,2),b(this,m.a,m.b,m.d,0,1,3));var W=["a","b","c","d"];c=0;for(e=this.faces.length;c<e;c++){m=this.faces[c];for(f=0;f<m.vertexNormals.length;f++)o.copy(m.vertexNormals[f]),h=m[W[f]],C=K[h],S.copy(C),S.subSelf(o.multiplyScalar(o.dot(C))).normalize(),P.cross(m.vertexNormals[f],C),h=P.dot(U[h]),h=h<0?-1:1,m.vertexTangents[f]=new THREE.Vector4(S.x,S.y,S.z,h)}this.hasTangents=!0},computeBoundingBox:function(){var b;
-if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,e=this.vertices.length;c<e;c++){b=this.vertices[c];if(b.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=b.position.x;else if(b.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=b.position.x;if(b.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=b.position.y;
-else if(b.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=b.position.y;if(b.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=b.position.z;else if(b.position.z>this.boundingBox.z[1])this.boundingBox.z[1]=b.position.z}}},computeBoundingSphere:function(){for(var b=0,c=0,e=this.vertices.length;c<e;c++)b=Math.max(b,this.vertices[c].position.length());this.boundingSphere={radius:b}},computeEdgeFaces:function(){function b(b,e){return Math.min(b,e)+"_"+Math.max(b,e)}function c(b,e,c){b[e]===
-void 0?(b[e]={set:{},array:[]},b[e].set[c]=1,b[e].array.push(c)):b[e].set[c]===void 0&&(b[e].set[c]=1,b[e].array.push(c))}var e,f,h,m,k,n={};e=0;for(f=this.faces.length;e<f;e++)k=this.faces[e],k instanceof THREE.Face3?(h=b(k.a,k.b),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.a,k.c),c(n,h,e)):k instanceof THREE.Face4&&(h=b(k.b,k.d),c(n,h,e),h=b(k.a,k.b),c(n,h,e),h=b(k.a,k.d),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.c,k.d),c(n,h,e));e=0;for(f=this.edges.length;e<f;e++){k=this.edges[e];h=k.vertexIndices[0];m=k.vertexIndices[1];
-k.faceIndices=n[b(h,m)].array;for(h=0;h<k.faceIndices.length;h++)m=k.faceIndices[h],k.faces.push(this.faces[m])}}};THREE.GeometryCount=0;
-THREE.Spline=function(b){function c(b,e,c,f,k,h,m){b=(c-b)*0.5;f=(f-e)*0.5;return(2*(e-c)+b+f)*m+(-3*(e-c)-2*b-f)*h+b*k+e}this.points=b;var e=[],f={x:0,y:0,z:0},h,m,k,n,u,p,v,t,x;this.initFromArray=function(b){this.points=[];for(var e=0;e<b.length;e++)this.points[e]={x:b[e][0],y:b[e][1],z:b[e][2]}};this.getPoint=function(b){h=(this.points.length-1)*b;m=Math.floor(h);k=h-m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>this.points.length-2?m:m+1;e[3]=m>this.points.length-3?m:m+2;p=this.points[e[0]];v=this.points[e[1]];
-t=this.points[e[2]];x=this.points[e[3]];n=k*k;u=k*n;f.x=c(p.x,v.x,t.x,x.x,k,n,u);f.y=c(p.y,v.y,t.y,x.y,k,n,u);f.z=c(p.z,v.z,t.z,x.z,k,n,u);return f};this.getControlPointsArray=function(){var b,e,c=this.points.length,f=[];for(b=0;b<c;b++)e=this.points[b],f[b]=[e.x,e.y,e.z];return f};this.getLength=function(b){var e,c,f=e=e=0,k=new THREE.Vector3,h=new THREE.Vector3,m=[],n=0;m[0]=0;b||(b=100);c=this.points.length*b;k.copy(this.points[0]);for(b=1;b<c;b++)e=b/c,position=this.getPoint(e),h.copy(position),
-n+=h.distanceTo(k),k.copy(position),e*=this.points.length-1,e=Math.floor(e),e!=f&&(m[e]=n,f=e);m[m.length]=n;return{chunks:m,total:n}};this.reparametrizeByArcLength=function(b){var e,c,f,k,h,m,n=[],u=new THREE.Vector3,t=this.getLength();n.push(u.copy(this.points[0]).clone());for(e=1;e<this.points.length;e++){c=t.chunks[e]-t.chunks[e-1];m=Math.ceil(b*c/t.total);k=(e-1)/(this.points.length-1);h=e/(this.points.length-1);for(c=1;c<m-1;c++)f=k+c*(1/m)*(h-k),position=this.getPoint(f),n.push(u.copy(position).clone());
-n.push(u.copy(this.points[e]).clone())}this.points=n}};THREE.Edge=function(b,c,e,f){this.vertices=[b,c];this.vertexIndices=[e,f];this.faces=[];this.faceIndices=[]};THREE.Camera=function(b,c,e,f,h){THREE.Object3D.call(this);this.fov=b||50;this.aspect=c||1;this.near=e||0.1;this.far=f||2E3;this.target=h||new THREE.Object3D;this.useTarget=!0;this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=null;this.updateProjectionMatrix()};THREE.Camera.prototype=new THREE.Object3D;
-THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.supr=THREE.Object3D.prototype;THREE.Camera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);c.multiplyScalar(b);this.position.addSelf(c);this.target.position.addSelf(c)};
-THREE.Camera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var b=this.fullWidth/this.fullHeight,c=Math.tan(this.fov*Math.PI/360)*this.near,e=-c,f=b*e,b=Math.abs(b*c-f),e=Math.abs(c-e);this.projectionMatrix=THREE.Matrix4.makeFrustum(f+this.x*b/this.fullWidth,f+(this.x+this.width)*b/this.fullWidth,c-(this.y+this.height)*e/this.fullHeight,c-this.y*e/this.fullHeight,this.near,this.far)}else this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};
-THREE.Camera.prototype.setViewOffset=function(b,c,e,f,h,m){this.fullWidth=b;this.fullHeight=c;this.x=e;this.y=f;this.width=h;this.height=m;this.updateProjectionMatrix()};
-THREE.Camera.prototype.update=function(b,c,e){if(this.useTarget)this.matrix.lookAt(this.position,this.target.position,this.up),this.matrix.setPosition(this.position),b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse),c=!0;else if(this.matrixAutoUpdate&&this.updateMatrix(),c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=
-!1,c=!0,THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse);for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};THREE.OrthoCamera=function(b,c,e,f,h,m,k){THREE.Camera.call(this,45,1,h,m,k);this.left=b;this.right=c;this.top=e;this.bottom=f;this.updateProjectionMatrix()};THREE.OrthoCamera.prototype=new THREE.Camera;THREE.OrthoCamera.prototype.constructor=THREE.OrthoCamera;
-THREE.OrthoCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makeOrtho(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.Light=function(b){THREE.Object3D.call(this);this.color=new THREE.Color(b)};THREE.Light.prototype=new THREE.Object3D;THREE.Light.prototype.constructor=THREE.Light;THREE.Light.prototype.supr=THREE.Object3D.prototype;THREE.AmbientLight=function(b){THREE.Light.call(this,b)};THREE.AmbientLight.prototype=new THREE.Light;
-THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.DirectionalLight.prototype=new THREE.Light;THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,c,e){THREE.Light.call(this,b);this.position=new THREE.Vector3;this.intensity=c||1;this.distance=e||0};
-THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;THREE.SpotLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.SpotLight.prototype=new THREE.Light;THREE.SpotLight.prototype.constructor=THREE.SpotLight;
-THREE.Material=function(b){this.id=THREE.MaterialCount++;b=b||{};this.opacity=b.opacity!==void 0?b.opacity:1;this.transparent=b.transparent!==void 0?b.transparent:!1;this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.depthTest=b.depthTest!==void 0?b.depthTest:!0;this.polygonOffset=b.polygonOffset!==void 0?b.polygonOffset:!1;this.polygonOffsetFactor=b.polygonOffsetFactor!==void 0?b.polygonOffsetFactor:0;this.polygonOffsetUnits=b.polygonOffsetUnits!==void 0?b.polygonOffsetUnits:
-0;this.alphaTest=b.alphaTest!==void 0?b.alphaTest:0};THREE.MaterialCount=0;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;THREE.MultiplyBlending=3;THREE.AdditiveAlphaBlending=4;
-THREE.LineBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.linewidth=b.linewidth!==void 0?b.linewidth:1;this.linecap=b.linecap!==void 0?b.linecap:"round";this.linejoin=b.linejoin!==void 0?b.linejoin:"round";this.vertexColors=b.vertexColors?b.vertexColors:!1};THREE.LineBasicMaterial.prototype=new THREE.Material;THREE.LineBasicMaterial.prototype.constructor=THREE.LineBasicMaterial;
-THREE.MeshBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
-void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
-THREE.MeshBasicMaterial.prototype=new THREE.Material;THREE.MeshBasicMaterial.prototype.constructor=THREE.MeshBasicMaterial;
-THREE.MeshLambertMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
-void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
-THREE.MeshLambertMaterial.prototype=new THREE.Material;THREE.MeshLambertMaterial.prototype.constructor=THREE.MeshLambertMaterial;
-THREE.MeshPhongMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.ambient=b.ambient!==void 0?new THREE.Color(b.ambient):new THREE.Color(328965);this.specular=b.specular!==void 0?new THREE.Color(b.specular):new THREE.Color(1118481);this.shininess=b.shininess!==void 0?b.shininess:30;this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;
-this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==
-void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshPhongMaterial.prototype=new THREE.Material;THREE.MeshPhongMaterial.prototype.constructor=THREE.MeshPhongMaterial;
-THREE.MeshDepthMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1};THREE.MeshDepthMaterial.prototype=new THREE.Material;THREE.MeshDepthMaterial.prototype.constructor=THREE.MeshDepthMaterial;
-THREE.MeshNormalMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading?b.shading:THREE.FlatShading;this.wireframe=b.wireframe?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth?b.wireframeLinewidth:1};THREE.MeshNormalMaterial.prototype=new THREE.Material;THREE.MeshNormalMaterial.prototype.constructor=THREE.MeshNormalMaterial;THREE.MeshFaceMaterial=function(){};
-THREE.MeshShaderMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.fragmentShader=b.fragmentShader!==void 0?b.fragmentShader:"void main() {}";this.vertexShader=b.vertexShader!==void 0?b.vertexShader:"void main() {}";this.uniforms=b.uniforms!==void 0?b.uniforms:{};this.attributes=b.attributes;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.fog=
-b.fog!==void 0?b.fog:!1;this.lights=b.lights!==void 0?b.lights:!1;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshShaderMaterial.prototype=new THREE.Material;THREE.MeshShaderMaterial.prototype.constructor=THREE.MeshShaderMaterial;
-THREE.ParticleBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.size=b.size!==void 0?b.size:1;this.sizeAttenuation=b.sizeAttenuation!==void 0?b.sizeAttenuation:!0;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1};THREE.ParticleBasicMaterial.prototype=new THREE.Material;THREE.ParticleBasicMaterial.prototype.constructor=THREE.ParticleBasicMaterial;
-THREE.ParticleCanvasMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.program=b.program!==void 0?b.program:function(){}};THREE.ParticleCanvasMaterial.prototype=new THREE.Material;THREE.ParticleCanvasMaterial.prototype.constructor=THREE.ParticleCanvasMaterial;THREE.ParticleDOMMaterial=function(b){THREE.Material.call(this);this.domElement=b};
-THREE.Texture=function(b,c,e,f,h,m){this.id=THREE.TextureCount++;this.image=b;this.mapping=c!==void 0?c:new THREE.UVMapping;this.wrapS=e!==void 0?e:THREE.ClampToEdgeWrapping;this.wrapT=f!==void 0?f:THREE.ClampToEdgeWrapping;this.magFilter=h!==void 0?h:THREE.LinearFilter;this.minFilter=m!==void 0?m:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.needsUpdate=!1};
-THREE.Texture.prototype={constructor:THREE.Texture,clone:function(){var b=new THREE.Texture(this.image,this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b}};THREE.TextureCount=0;THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
-THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;
-THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;THREE.DataTexture=function(b,c,e,f,h,m,k,n,u){THREE.Texture.call(this,null,h,m,k,n,u);this.image={data:b,width:c,height:e};this.format=f!==void 0?f:THREE.RGBAFormat};THREE.DataTexture.prototype=new THREE.Texture;THREE.DataTexture.prototype.constructor=THREE.DataTexture;
-THREE.DataTexture.prototype.clone=function(){var b=new THREE.DataTexture(this.data.slice(0),this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b};THREE.Particle=function(b){THREE.Object3D.call(this);this.materials=b instanceof Array?b:[b]};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;
-THREE.ParticleSystem=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.sortParticles=!1};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;THREE.Line=function(b,c,e){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.type=e!=void 0?e:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;
-THREE.Line.prototype.constructor=THREE.Line;
-THREE.Mesh=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c&&c.length?c:[c];this.overdraw=!1;if(this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere(),this.boundRadius=b.boundingSphere.radius,this.geometry.morphTargets.length)){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var e=0;e<this.geometry.morphTargets.length;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[e].name]=
-e}};THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.supr=THREE.Object3D.prototype;THREE.Mesh.prototype.getMorphTargetIndexByName=function(b){if(this.morphTargetDictionary[b]!==void 0)return this.morphTargetDictionary[b];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+b+" does not exist. Returning 0.");return 0};
-THREE.Bone=function(b){THREE.Object3D.call(this);this.skin=b;this.skinMatrix=new THREE.Matrix4;this.hasNoneBoneChildren=!1};THREE.Bone.prototype=new THREE.Object3D;THREE.Bone.prototype.constructor=THREE.Bone;THREE.Bone.prototype.supr=THREE.Object3D.prototype;
-THREE.Bone.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.skinMatrix.multiply(b,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;if(this.hasNoneBoneChildren){this.matrixWorld.multiply(this.skin.matrixWorld,this.skinMatrix);for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.skinMatrix,c,e):b.update(this.matrixWorld,!0,e)}else for(f=0;f<h;f++)this.children[f].update(this.skinMatrix,
-c,e)};THREE.Bone.prototype.addChild=function(b){if(this.children.indexOf(b)===-1&&(b.parent!==void 0&&b.parent.removeChild(b),b.parent=this,this.children.push(b),!(b instanceof THREE.Bone)))this.hasNoneBoneChildren=!0};
-THREE.SkinnedMesh=function(b,c){THREE.Mesh.call(this,b,c);this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var e,f,h,m,k,n;if(this.geometry.bones!==void 0){for(e=0;e<this.geometry.bones.length;e++)h=this.geometry.bones[e],m=h.pos,k=h.rotq,n=h.scl,f=this.addBone(),f.name=h.name,f.position.set(m[0],m[1],m[2]),f.quaternion.set(k[0],k[1],k[2],k[3]),f.useQuaternion=!0,n!==void 0?f.scale.set(n[0],n[1],n[2]):f.scale.set(1,1,1);for(e=0;e<this.bones.length;e++)h=this.geometry.bones[e],
-f=this.bones[e],h.parent===-1?this.addChild(f):this.bones[h.parent].addChild(f);this.boneMatrices=new Float32Array(16*this.bones.length);this.pose()}};THREE.SkinnedMesh.prototype=new THREE.Mesh;THREE.SkinnedMesh.prototype.constructor=THREE.SkinnedMesh;
-THREE.SkinnedMesh.prototype.update=function(b,c,e){if(this.visible){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.identityMatrix,!1,e):b.update(this.matrixWorld,c,e);e=this.bones.length;ba=this.bones;bm=this.boneMatrices;for(c=0;c<e;c++)ba[c].skinMatrix.flattenToArrayOffset(bm,
-c*16)}};THREE.SkinnedMesh.prototype.addBone=function(b){b===void 0&&(b=new THREE.Bone(this));this.bones.push(b);return b};
-THREE.SkinnedMesh.prototype.pose=function(){this.update(void 0,!0);for(var b,c=[],e=0;e<this.bones.length;e++)b=this.bones[e],c.push(THREE.Matrix4.makeInvert(b.skinMatrix)),b.skinMatrix.flattenToArrayOffset(this.boneMatrices,e*16);if(this.geometry.skinVerticesA===void 0){this.geometry.skinVerticesA=[];this.geometry.skinVerticesB=[];var f;for(b=0;b<this.geometry.skinIndices.length;b++){var e=this.geometry.vertices[b].position,h=this.geometry.skinIndices[b].x,m=this.geometry.skinIndices[b].y;f=new THREE.Vector3(e.x,
-e.y,e.z);this.geometry.skinVerticesA.push(c[h].multiplyVector3(f));f=new THREE.Vector3(e.x,e.y,e.z);this.geometry.skinVerticesB.push(c[m].multiplyVector3(f));this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y!==1&&(e=(1-(this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y))*0.5,this.geometry.skinWeights[b].x+=e,this.geometry.skinWeights[b].y+=e)}}};THREE.Ribbon=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c]};
-THREE.Ribbon.prototype=new THREE.Object3D;THREE.Ribbon.prototype.constructor=THREE.Ribbon;THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=new THREE.Object3D;THREE.LOD.prototype.constructor=THREE.LOD;THREE.LOD.prototype.supr=THREE.Object3D.prototype;THREE.LOD.prototype.add=function(b,c){c===void 0&&(c=0);for(var c=Math.abs(c),e=0;e<this.LODs.length;e++)if(c<this.LODs[e].visibleAtDistance)break;this.LODs.splice(e,0,{visibleAtDistance:c,object3D:b});this.addChild(b)};
-THREE.LOD.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;if(this.LODs.length>1){b=e.matrixWorldInverse;b=-(b.n31*this.position.x+b.n32*this.position.y+b.n33*this.position.z+b.n34);this.LODs[0].object3D.visible=!0;for(var f=1;f<this.LODs.length;f++)if(b>=this.LODs[f].visibleAtDistance)this.LODs[f-1].object3D.visible=!1,
-this.LODs[f].object3D.visible=!0;else break;for(;f<this.LODs.length;f++)this.LODs[f].object3D.visible=!1}for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};
-THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==void 0)this.material=b.material,this.map=void 0,this.blending=material.blending;else if(b.map!==void 0)this.map=b.map instanceof THREE.Texture?b.map:THREE.ImageUtils.loadTexture(b.map),this.material=void 0,this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.useScreenCoordinates=b.useScreenCoordinates!==void 0?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==void 0?b.mergeWith3D:!this.useScreenCoordinates;
-this.affectedByDistance=b.affectedByDistance!==void 0?b.affectedByDistance:!this.useScreenCoordinates;this.scaleByViewport=b.scaleByViewport!==void 0?b.scaleByViewport:!this.affectedByDistance;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.Sprite;
-THREE.Sprite.prototype.supr=THREE.Object3D.prototype;THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,this.scale.y);this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
-THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
-THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.collisions=this.overrideMaterial=this.fog=null;this.objects=[];this.lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
-THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1)this.objects.push(b),this.__objectsAdded.push(b);for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};
-THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else b instanceof THREE.Camera||(c=this.objects.indexOf(b),c!==-1&&(this.objects.splice(c,1),this.__objectsRemoved.push(b)));for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};THREE.Scene.prototype.addObject=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeObject=THREE.Scene.prototype.removeChild;
-THREE.Scene.prototype.addLight=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeLight=THREE.Scene.prototype.removeChild;THREE.Fog=function(b,c,e){this.color=new THREE.Color(b);this.near=c||1;this.far=e||1E3};THREE.FogExp2=function(b,c){this.color=new THREE.Color(b);this.density=c!==void 0?c:2.5E-4};
-THREE.DOMRenderer=function(){THREE.Renderer.call(this);var b=null,c=new THREE.Projector,e,f,h,m;this.domElement=document.createElement("div");this.setSize=function(b,c){e=b;f=c;h=e/2;m=f/2};this.render=function(e,f){var u,p,v,t,x,w,z,y;b=c.projectScene(e,f);u=0;for(p=b.length;u<p;u++)if(x=b[u],x instanceof THREE.RenderableParticle){z=x.x*h+h;y=x.y*m+m;v=0;for(t=x.material.length;v<t;v++)if(w=x.material[v],w instanceof THREE.ParticleDOMMaterial)w=w.domElement,w.style.left=z+"px",w.style.top=y+"px"}}};
-THREE.CanvasRenderer=function(b){function c(b){if(B!=b)w.globalAlpha=B=b}function e(b){if(D!=b){switch(b){case THREE.NormalBlending:w.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:w.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:w.globalCompositeOperation="darker"}D=b}}function f(b){if(G!=b)w.strokeStyle=G=b}function h(b){if(H!=b)w.fillStyle=H=b}var m=this,k=null,n=new THREE.Projector,b=b||{},u=b.canvas!==void 0?b.canvas:document.createElement("canvas"),
-p,v,t,x,w=u.getContext("2d"),z=new THREE.Color(0),y=0,B=1,D=0,G=null,H=null,E=null,N=null,F=null,I,C,K,U,L=new THREE.RenderableVertex,O=new THREE.RenderableVertex,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$=new THREE.Color(0),ca=new THREE.Color(0),X=new THREE.Color(0),ja=new THREE.Color(0),ea=new THREE.Color(0),qa=[],V,pa,va,ra,sa,Ca,wa,Aa,za,Fa,M=new THREE.Rectangle,Z=new THREE.Rectangle,T=new THREE.Rectangle,xa=!1,ha=new THREE.Color,ka=new THREE.Color,ya=new THREE.Color,ta=new THREE.Color,oa=new THREE.Vector3,
-Y,Ga,la,Ba,Va,Da,b=16;Y=document.createElement("canvas");Y.width=Y.height=2;Ga=Y.getContext("2d");Ga.fillStyle="rgba(0,0,0,1)";Ga.fillRect(0,0,2,2);la=Ga.getImageData(0,0,2,2);Ba=la.data;Va=document.createElement("canvas");Va.width=Va.height=b;Da=Va.getContext("2d");Da.translate(-b/2,-b/2);Da.scale(b,b);b--;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setSize=function(b,e){p=b;v=e;t=Math.floor(p/2);x=Math.floor(v/2);u.width=p;u.height=
-v;M.set(-t,-x,t,x);Z.set(-t,-x,t,x);B=1;D=0;F=N=E=H=G=null};this.setClearColor=function(b,e){z.copy(b);y=e;Z.set(-t,-x,t,x)};this.setClearColorHex=function(b,e){z.setHex(b);y=e;Z.set(-t,-x,t,x)};this.clear=function(){w.setTransform(1,0,0,-1,t,x);Z.isEmpty()||(Z.minSelf(M),Z.inflate(2),y<1&&w.clearRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight())),y>0&&(e(THREE.NormalBlending),c(1),h("rgba("+Math.floor(z.r*255)+","+Math.floor(z.g*255)+","+Math.floor(z.b*
-255)+","+y+")"),w.fillRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(b,u){function p(b){var e,c,f,k=b.lights;ka.setRGB(0,0,0);ya.setRGB(0,0,0);ta.setRGB(0,0,0);b=0;for(e=k.length;b<e;b++)c=k[b],f=c.color,c instanceof THREE.AmbientLight?(ka.r+=f.r,ka.g+=f.g,ka.b+=f.b):c instanceof THREE.DirectionalLight?(ya.r+=f.r,ya.g+=f.g,ya.b+=f.b):c instanceof THREE.PointLight&&(ta.r+=f.r,ta.g+=f.g,ta.b+=f.b)}function v(b,e,c,
-f){var k,h,m,o,n=b.lights,b=0;for(k=n.length;b<k;b++)h=n[b],m=h.color,h instanceof THREE.DirectionalLight?(o=c.dot(h.position),o<=0||(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)):h instanceof THREE.PointLight&&(o=c.dot(oa.sub(h.position,e).normalize()),o<=0||(o*=h.distance==0?1:1-Math.min(e.distanceTo(h.position)/h.distance,1),o!=0&&(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)))}function z(b,k,m){c(m.opacity);e(m.blending);var o,n,u,la,p,v;if(m instanceof THREE.ParticleBasicMaterial){if(m.map)la=
-m.map.image,p=la.width>>1,v=la.height>>1,m=k.scale.x*t,u=k.scale.y*x,o=m*p,n=u*v,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(m,-u),w.translate(-p,-v),w.drawImage(la,0,0),w.restore())}else m instanceof THREE.ParticleCanvasMaterial&&(o=k.scale.x*t,n=k.scale.y*x,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(f(m.color.getContextStyle()),h(m.color.getContextStyle()),w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(o,n),m.program(w),
-w.restore()))}function B(b,k,h,m){c(m.opacity);e(m.blending);w.beginPath();w.moveTo(b.positionScreen.x,b.positionScreen.y);w.lineTo(k.positionScreen.x,k.positionScreen.y);w.closePath();if(m instanceof THREE.LineBasicMaterial){b=m.linewidth;if(E!=b)w.lineWidth=E=b;b=m.linecap;if(N!=b)w.lineCap=N=b;b=m.linejoin;if(F!=b)w.lineJoin=F=b;f(m.color.getContextStyle());w.stroke();T.inflate(m.linewidth*2)}}function y(b,f,k,h,n,t,la,p,w){m.data.vertices+=3;m.data.faces++;c(p.opacity);e(p.blending);S=b.positionScreen.x;
-P=b.positionScreen.y;o=f.positionScreen.x;W=f.positionScreen.y;na=k.positionScreen.x;R=k.positionScreen.y;G(S,P,o,W,na,R);if(p instanceof THREE.MeshBasicMaterial)if(p.map)p.map.mapping instanceof THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map));else if(p.envMap){if(p.envMap.mapping instanceof THREE.SphericalReflectionMapping)b=u.matrixWorldInverse,oa.copy(la.vertexNormalsWorld[0]),sa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Ca=-(oa.x*b.n21+oa.y*
-b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[1]),wa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Aa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[2]),za=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Fa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,Ya(S,P,o,W,na,R,sa,Ca,wa,Aa,za,Fa,p.envMap)}else p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshLambertMaterial)p.map&&!p.wireframe&&(p.map.mapping instanceof
-THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map)),e(THREE.SubtractiveBlending)),xa?!p.wireframe&&p.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==3?(ca.r=X.r=ja.r=ka.r,ca.g=X.g=ja.g=ka.g,ca.b=X.b=ja.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ja),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,
-ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(p.color.r*ha.r,1)),$.g=Math.max(0,Math.min(p.color.g*ha.g,1)),$.b=Math.max(0,Math.min(p.color.b*ha.b,1)),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)):p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-
-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(k.positionScreen.z,V,pa),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va);else if(p instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)}function D(b,f,k,h,n,p,la,t,w){m.data.vertices+=4;m.data.faces++;c(t.opacity);
-e(t.blending);if(t.map||t.envMap)y(b,f,h,0,1,3,la,t,w),y(n,k,p,1,2,3,la,t,w);else if(S=b.positionScreen.x,P=b.positionScreen.y,o=f.positionScreen.x,W=f.positionScreen.y,na=k.positionScreen.x,R=k.positionScreen.y,ia=h.positionScreen.x,aa=h.positionScreen.y,ma=n.positionScreen.x,fa=n.positionScreen.y,ga=p.positionScreen.x,da=p.positionScreen.y,t instanceof THREE.MeshBasicMaterial)H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color);else if(t instanceof
-THREE.MeshLambertMaterial)xa?!t.wireframe&&t.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==4?(ca.r=X.r=ja.r=ea.r=ka.r,ca.g=X.g=ja.g=ea.g=ka.g,ca.b=X.b=ja.b=ea.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v4.positionWorld,la.vertexNormalsWorld[3],ja),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ea),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,da,1,
-0,1,1,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(t.color.r*ha.r,1)),$.g=Math.max(0,Math.min(t.color.g*ha.g,1)),$.b=Math.max(0,Math.min(t.color.b*ha.b,1)),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($)):(H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color));else if(t instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),
-$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($);else if(t instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(h.positionScreen.z,V,pa),ea.r=ea.g=ea.b=1-Na(k.positionScreen.z,V,pa),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,
-da,1,0,1,1,0,1,va)}function G(b,e,c,f,k,h){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(b,e);w.closePath()}function H(b,e,c,f,k,h,m,o){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(m,o);w.lineTo(b,e);w.closePath()}function Ja(b,e,c,k){if(E!=e)w.lineWidth=E=e;if(N!=c)w.lineCap=N=c;if(F!=k)w.lineJoin=F=k;f(b.getContextStyle());w.stroke();T.inflate(e*2)}function Ka(b){h(b.getContextStyle());w.fill()}function Ya(b,e,c,f,k,m,o,n,t,p,la,u,v){if(v.image.width!=0){if(v.needsUpdate==
-!0||qa[v.id]==void 0){var x=v.wrapS==THREE.RepeatWrapping,Da=v.wrapT==THREE.RepeatWrapping;qa[v.id]=w.createPattern(v.image,x&&Da?"repeat":x&&!Da?"repeat-x":!x&&Da?"repeat-y":"no-repeat");v.needsUpdate=!1}h(qa[v.id]);var x=v.offset.x/v.repeat.x,Da=v.offset.y/v.repeat.y,M=(v.image.width-1)*v.repeat.x,v=(v.image.height-1)*v.repeat.y,o=(o+x)*M,n=(n+Da)*v,t=(t+x)*M,p=(p+Da)*v,la=(la+x)*M,u=(u+Da)*v;c-=b;f-=e;k-=b;m-=e;t-=o;p-=n;la-=o;u-=n;x=1/(t*u-la*p);v=(u*c-p*k)*x;p=(u*f-p*m)*x;c=(t*k-la*c)*x;f=(t*
-m-la*f)*x;b=b-v*o-c*n;e=e-p*o-f*n;w.save();w.transform(v,p,c,f,b,e);w.fill();w.restore()}}function Sa(b,e,c,f,k,h,m,o,n,t,p,la,u){var v,x;v=u.width-1;x=u.height-1;m*=v;o*=x;n*=v;t*=x;p*=v;la*=x;c-=b;f-=e;k-=b;h-=e;n-=m;t-=o;p-=m;la-=o;x=1/(n*la-p*t);v=(la*c-t*k)*x;t=(la*f-t*h)*x;c=(n*k-p*c)*x;f=(n*h-p*f)*x;b=b-v*m-c*o;e=e-t*m-f*o;w.save();w.transform(v,t,c,f,b,e);w.clip();w.drawImage(u,0,0);w.restore()}function Wa(b,e,c,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(e.r*255),o=~~(e.g*255),
-e=~~(e.b*255),n=~~(c.r*255),t=~~(c.g*255),c=~~(c.b*255),p=~~(f.r*255),u=~~(f.g*255),f=~~(f.b*255);Ba[0]=k<0?0:k>255?255:k;Ba[1]=h<0?0:h>255?255:h;Ba[2]=b<0?0:b>255?255:b;Ba[4]=m<0?0:m>255?255:m;Ba[5]=o<0?0:o>255?255:o;Ba[6]=e<0?0:e>255?255:e;Ba[8]=n<0?0:n>255?255:n;Ba[9]=t<0?0:t>255?255:t;Ba[10]=c<0?0:c>255?255:c;Ba[12]=p<0?0:p>255?255:p;Ba[13]=u<0?0:u>255?255:u;Ba[14]=f<0?0:f>255?255:f;Ga.putImageData(la,0,0);Da.drawImage(Y,0,0);return Va}function Na(b,e,c){b=(b-e)/(c-e);return b*b*(3-2*b)}function Ta(b){b=
-(b+1)*0.5;return b<0?0:b>1?1:b}function La(b,e){var c=e.x-b.x,f=e.y-b.y,k=c*c+f*f;k!=0&&(k=1/Math.sqrt(k),c*=k,f*=k,e.x+=c,e.y+=f,b.x-=c,b.y-=f)}var Xa,bb,ua,Ea,Ma,Ua,J,A;this.autoClear?this.clear():w.setTransform(1,0,0,-1,t,x);m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,u,this.sortElements);(xa=b.lights.length>0)&&p(b);Xa=0;for(bb=k.length;Xa<bb;Xa++){ua=k[Xa];T.empty();if(ua instanceof THREE.RenderableParticle){I=ua;I.x*=t;I.y*=x;Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],
-A.opacity!=0&&z(I,ua,A,b)}else if(ua instanceof THREE.RenderableLine){if(I=ua.v1,C=ua.v2,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],A.opacity!=0&&B(I,C,ua,A,b)}}else if(ua instanceof THREE.RenderableFace3){if(I=ua.v1,C=ua.v2,K=ua.v3,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=
-t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,K.positionScreen),La(K.positionScreen,I.positionScreen)),T.add3Points(I.positionScreen.x,I.positionScreen.y,C.positionScreen.x,C.positionScreen.y,K.positionScreen.x,K.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
-A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}else A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}}else if(ua instanceof THREE.RenderableFace4&&(I=ua.v1,C=ua.v2,K=ua.v3,U=ua.v4,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,U.positionScreen.x*=t,U.positionScreen.y*=x,L.positionScreen.copy(C.positionScreen),O.positionScreen.copy(U.positionScreen),ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,U.positionScreen),
-La(U.positionScreen,I.positionScreen),La(K.positionScreen,L.positionScreen),La(K.positionScreen,O.positionScreen)),T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),T.addPoint(K.positionScreen.x,K.positionScreen.y),T.addPoint(U.positionScreen.x,U.positionScreen.y),M.instersects(T))){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
-A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}else A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}Z.addRectangle(T)}w.setTransform(1,0,0,1,0,0)}};
-THREE.SVGRenderer=function(){function b(b,e,c){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.lights[f],h instanceof THREE.DirectionalLight?(m=e.normalWorld.dot(h.position)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m)):h instanceof THREE.PointLight&&(U.sub(h.position,e.centroidWorld),U.normalize(),m=e.normalWorld.dot(U)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m))}function c(e,c,k,o,n,t){m.data.vertices+=3;m.data.faces++;S=f(P++);S.setAttribute("d",
-"M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+"z");n instanceof THREE.MeshBasicMaterial?E.copy(n.color):n instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(t,o,N),E.r=Math.max(0,Math.min(n.color.r*N.r,1)),E.g=Math.max(0,Math.min(n.color.g*N.g,1)),E.b=Math.max(0,Math.min(n.color.b*N.b,1))):E.copy(n.color):n instanceof THREE.MeshDepthMaterial?(K=1-n.__2near/(n.__farPlusNear-o.z*n.__farMinusNear),
-E.setRGB(K,K,K)):n instanceof THREE.MeshNormalMaterial&&E.setRGB(h(o.normalWorld.x),h(o.normalWorld.y),h(o.normalWorld.z));n.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+n.wireframeLinewidth+"; stroke-opacity: "+n.opacity+"; stroke-linecap: "+n.wireframeLinecap+"; stroke-linejoin: "+n.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+n.opacity);u.appendChild(S)}function e(e,c,k,o,n,t,p){m.data.vertices+=4;m.data.faces++;
-S=f(P++);S.setAttribute("d","M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+" L "+o.positionScreen.x+","+o.positionScreen.y+"z");t instanceof THREE.MeshBasicMaterial?E.copy(t.color):t instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(p,n,N),E.r=Math.max(0,Math.min(t.color.r*N.r,1)),E.g=Math.max(0,Math.min(t.color.g*N.g,1)),E.b=Math.max(0,Math.min(t.color.b*N.b,1))):E.copy(t.color):t instanceof
-THREE.MeshDepthMaterial?(K=1-t.__2near/(t.__farPlusNear-n.z*t.__farMinusNear),E.setRGB(K,K,K)):t instanceof THREE.MeshNormalMaterial&&E.setRGB(h(n.normalWorld.x),h(n.normalWorld.y),h(n.normalWorld.z));t.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+t.wireframeLinewidth+"; stroke-opacity: "+t.opacity+"; stroke-linecap: "+t.wireframeLinecap+"; stroke-linejoin: "+t.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+
-t.opacity);u.appendChild(S)}function f(b){L[b]==null&&(L[b]=document.createElementNS("http://www.w3.org/2000/svg","path"),W==0&&L[b].setAttribute("shape-rendering","crispEdges"));return L[b]}function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}var m=this,k=null,n=new THREE.Projector,u=document.createElementNS("http://www.w3.org/2000/svg","svg"),p,v,t,x,w,z,y,B,D=new THREE.Rectangle,G=new THREE.Rectangle,H=!1,E=new THREE.Color(16777215),N=new THREE.Color(16777215),F=new THREE.Color(0),I=new THREE.Color(0),
-C=new THREE.Color(0),K,U=new THREE.Vector3,L=[],O=[],S,P,o,W=1;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setQuality=function(b){switch(b){case "high":W=1;break;case "low":W=0}};this.setSize=function(b,e){p=b;v=e;t=p/2;x=v/2;u.setAttribute("viewBox",-t+" "+-x+" "+p+" "+v);u.setAttribute("width",p);u.setAttribute("height",v);D.set(-t,-x,t,x)};this.clear=function(){for(;u.childNodes.length>0;)u.removeChild(u.childNodes[0])};this.render=
-function(b,f){var h,p,v,E,N,L,K,ca;this.autoClear&&this.clear();m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,f,this.sortElements);o=P=0;if(H=b.lights.length>0){K=b.lights;F.setRGB(0,0,0);I.setRGB(0,0,0);C.setRGB(0,0,0);h=0;for(p=K.length;h<p;h++)v=K[h],E=v.color,v instanceof THREE.AmbientLight?(F.r+=E.r,F.g+=E.g,F.b+=E.b):v instanceof THREE.DirectionalLight?(I.r+=E.r,I.g+=E.g,I.b+=E.b):v instanceof THREE.PointLight&&(C.r+=E.r,C.g+=E.g,C.b+=E.b)}h=0;for(p=k.length;h<p;h++)if(K=k[h],G.empty(),
-K instanceof THREE.RenderableParticle){w=K;w.x*=t;w.y*=-x;v=0;for(E=K.materials.length;v<E;)v++}else if(K instanceof THREE.RenderableLine){if(w=K.v1,z=K.v2,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),D.instersects(G)){v=0;for(E=K.materials.length;v<E;)if((ca=K.materials[v++])&&ca.opacity!=0){N=w;L=z;var X=o++;O[X]==null&&(O[X]=document.createElementNS("http://www.w3.org/2000/svg",
-"line"),W==0&&O[X].setAttribute("shape-rendering","crispEdges"));S=O[X];S.setAttribute("x1",N.positionScreen.x);S.setAttribute("y1",N.positionScreen.y);S.setAttribute("x2",L.positionScreen.x);S.setAttribute("y2",L.positionScreen.y);ca instanceof THREE.LineBasicMaterial&&(S.setAttribute("style","fill: none; stroke: "+ca.color.getContextStyle()+"; stroke-width: "+ca.linewidth+"; stroke-opacity: "+ca.opacity+"; stroke-linecap: "+ca.linecap+"; stroke-linejoin: "+ca.linejoin),u.appendChild(S))}}}else if(K instanceof
-THREE.RenderableFace3){if(w=K.v1,z=K.v2,y=K.v3,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),D.instersects(G)){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&
-ca.opacity!=0&&c(w,z,y,K,ca,b)}else ca&&ca.opacity!=0&&c(w,z,y,K,ca,b)}}else if(K instanceof THREE.RenderableFace4&&(w=K.v1,z=K.v2,y=K.v3,B=K.v4,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,B.positionScreen.x*=t,B.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),G.addPoint(B.positionScreen.x,
-B.positionScreen.y),D.instersects(G))){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}else ca&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}}};
-THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform int combine;\n#endif",
-envmap_fragment:"#ifdef USE_ENVMAP\nvec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = vec4( mix( gl_FragColor.xyz, cubeColor.xyz, reflectivity ), opacity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
-map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, gl_PointCoord );\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif",
-lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
-lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat pointLightWeighting = max( dot( transformedNormal, lVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef PHONG\nvPointLight[ i ] = vec4( lVector, lDistance );\n#endif\n}\n#endif\n}",
-lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mColor = vec4( diffuse, opacity );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 pointSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight * pointDistance;\npointSpecular += mSpecular * pointSpecularWeight * pointDistance;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 dirSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
-color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\nvColor = color;\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n#endif",skinning_vertex:"#ifdef USE_SKINNING\ngl_Position = ( boneGlobalMatrices[ int( skinIndex.x ) ] * skinVertexA ) * skinWeight.x;\ngl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;\ngl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;\n#endif",
-morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\nuniform float morphTargetInfluences[ 8 ];\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0, 0.0, 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif",
-default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform float shadowDarkness;\nuniform float shadowBias;\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",
-shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_SOFT\nconst float xPixelOffset = 1.0 / SHADOWMAP_WIDTH;\nconst float yPixelOffset = 1.0 / SHADOWMAP_HEIGHT;\n#endif\nvec4 shadowColor = vec4( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nif ( shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0 ) {\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nfor ( float y = -1.25; y <= 1.25; y += 1.25 )\nfor ( float x = -1.25; x <= 1.25; x += 1.25 ) {\nvec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadow += 1.0;\n}\nshadow /= 9.0;\nshadowColor = shadowColor * vec4( vec3( ( 1.0 - shadowDarkness * shadow ) ), 1.0 );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadowColor = shadowColor * vec4( vec3( shadowDarkness ), 1.0 );\n#endif\n}\n}\ngl_FragColor = gl_FragColor * shadowColor;\n#endif",
-shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif"};
-THREE.UniformsUtils={merge:function(b){var c,e,f,h={};for(c=0;c<b.length;c++)for(e in f=this.clone(b[c]),f)h[e]=f[e];return h},clone:function(b){var c,e,f,h={};for(c in b)for(e in h[c]={},b[c])f=b[c][e],h[c][e]=f instanceof THREE.Color||f instanceof THREE.Vector2||f instanceof THREE.Vector3||f instanceof THREE.Vector4||f instanceof THREE.Matrix4||f instanceof THREE.Texture?f.clone():f instanceof Array?f.slice():f;return h}};
-THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:2,texture:null},envMap:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",
-value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",value:1},scale:{type:"f",
-value:1},map:{type:"t",value:0,texture:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:3,texture:[]},shadowMatrix:{type:"m4v",value:[]},shadowBias:{type:"f",value:0.0039},shadowDarkness:{type:"f",value:0.2}}};
-THREE.ShaderLib={lensFlareVertexTexture:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = ( visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n( visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * vVisibility;\ngl_FragColor = color;\n}\n}"},
-lensFlare:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * visibility;\ngl_FragColor = color;\n}\n}"},
-sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int affectedByDistance;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( affectedByDistance == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
-fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity;\ngl_FragColor = color;\n}"},shadowPost:{vertexShader:"uniform \tmat4 \tprojectionMatrix;\nattribute \tvec3 \tposition;\nvoid main() {\ngl_Position = projectionMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform \tfloat \tdarkness;\nvoid main() {\ngl_FragColor = vec4( 0, 0, 0, darkness );\n}"},
-shadowVolumeDynamic:{uniforms:{directionalLightDirection:{type:"fv",value:[]}},vertexShader:"uniform \tvec3 \tdirectionalLightDirection;\nvoid main() {\nvec4 pos = objectMatrix * vec4( position, 1.0 );\nvec3 norm = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nvec4 extruded = vec4( directionalLightDirection * 5000.0 * step( 0.0, dot( directionalLightDirection, norm ) ), 0.0 );\ngl_Position = projectionMatrix * viewMatrix * ( pos + extruded );\n}",
-fragmentShader:"void main() {\ngl_FragColor = vec4( 1.0 );\n}"},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}",vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},
-normal:{uniforms:{opacity:{type:"f",value:1}},fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}",vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),
-fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,
-THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
-THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
-THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,"gl_FragColor = gl_FragColor * vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,
-"}"].join("\n"),vertexShader:["varying vec3 vLightWeighting;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
-THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(328965)},
-specular:{type:"c",value:new THREE.Color(1118481)},shininess:{type:"f",value:30}}]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
-"void main() {\ngl_FragColor = vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lights_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,
-THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = -mvPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
-THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
-"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
-THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},depthRGBA:{uniforms:{},fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}",vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,
-"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n")}};
-THREE.WebGLRenderer=function(b){function c(b,e,c){var f,k,h,m=b.vertices,n=m.length,t=b.colors,p=t.length,u=b.__vertexArray,v=b.__colorArray,w=b.__sortArray,x=b.__dirtyVertices,M=b.__dirtyColors,T=b.__webglCustomAttributes,z,y;if(T)for(z in T)T[z].offset=0;if(c.sortParticles){pa.multiplySelf(c.matrixWorld);for(f=0;f<n;f++)k=m[f].position,sa.copy(k),pa.multiplyVector3(sa),w[f]=[sa.z,f];w.sort(function(b,e){return e[0]-b[0]});for(f=0;f<n;f++)k=m[w[f][1]].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;
-for(f=0;f<p;f++)h=f*3,color=t[w[f][1]],v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T){f=T[z];t=f.value.length;for(h=0;h<t;h++){index=w[h][1];p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[index]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[index];f.size===2?(f.array[p]=y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=
-y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}else{if(x)for(f=0;f<n;f++)k=m[f].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;if(M)for(f=0;f<p;f++)color=t[f],h=f*3,v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T)if(f=T[z],f.__original.needsUpdate){t=f.value.length;for(h=0;h<t;h++){p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[h]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[h];f.size===2?(f.array[p]=
-y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}if(x||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,u,e);if(M||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,v,e);if(T)for(z in T)if(f=T[z],f.__original.needsUpdate||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,
-f.buffer),o.bufferData(o.ARRAY_BUFFER,f.array,e)}function e(b,e,c,f,h){f.program||P.initMaterial(f,e,c,h);if(f.morphTargets&&!h.__webglMorphTargetInfluences){h.__webglMorphTargetInfluences=new Float32Array(P.maxMorphTargets);for(var k=0,m=P.maxMorphTargets;k<m;k++)h.__webglMorphTargetInfluences[k]=0}var k=f.program,m=k.uniforms,n=f.uniforms;k!=na&&(o.useProgram(k),na=k);o.uniformMatrix4fv(m.projectionMatrix,!1,va);if(c&&(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||
-f instanceof THREE.MeshPhongMaterial||f instanceof THREE.LineBasicMaterial||f instanceof THREE.ParticleBasicMaterial||f.fog))if(n.fogColor.value=c.color,c instanceof THREE.Fog)n.fogNear.value=c.near,n.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)n.fogDensity.value=c.density;if(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f.lights){var p,t,u,v=0,w=0,x=0,M,T,z,y=Ca,B=y.directional.colors,Z=y.directional.positions,D=y.point.colors,G=y.point.positions,H=y.point.distances,
-E=0,V=0,c=t=z=0;for(p=e.length;c<p;c++)if(t=e[c],u=t.color,M=t.position,T=t.intensity,z=t.distance,t instanceof THREE.AmbientLight)v+=u.r,w+=u.g,x+=u.b;else if(t instanceof THREE.DirectionalLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,Z[z]=M.x,Z[z+1]=M.y,Z[z+2]=M.z,E+=1;else if(t instanceof THREE.SpotLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,u=1/M.length(),Z[z]=M.x*u,Z[z+1]=M.y*u,Z[z+2]=M.z*u,E+=1;else if(t instanceof THREE.PointLight)t=V*3,D[t]=u.r*T,D[t+1]=u.g*T,D[t+2]=u.b*T,G[t]=M.x,
-G[t+1]=M.y,G[t+2]=M.z,H[V]=z,V+=1;for(c=E*3;c<B.length;c++)B[c]=0;for(c=V*3;c<D.length;c++)D[c]=0;y.point.length=V;y.directional.length=E;y.ambient[0]=v;y.ambient[1]=w;y.ambient[2]=x;e=Ca;n.enableLighting.value=e.directional.length+e.point.length;n.ambientLightColor.value=e.ambient;n.directionalLightColor.value=e.directional.colors;n.directionalLightDirection.value=e.directional.positions;n.pointLightColor.value=e.point.colors;n.pointLightPosition.value=e.point.positions;n.pointLightDistance.value=
-e.point.distances}if(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshPhongMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity,(n.map.texture=f.map)&&n.offsetRepeat.value.set(f.map.offset.x,f.map.offset.y,f.map.repeat.x,f.map.repeat.y),n.lightMap.texture=f.lightMap,n.envMap.texture=f.envMap,n.reflectivity.value=f.reflectivity,n.refractionRatio.value=f.refractionRatio,n.combine.value=f.combine,n.useRefract.value=f.envMap&&f.envMap.mapping instanceof
-THREE.CubeRefractionMapping;if(f instanceof THREE.LineBasicMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity;else if(f instanceof THREE.ParticleBasicMaterial)n.psColor.value=f.color,n.opacity.value=f.opacity,n.size.value=f.size,n.scale.value=wa.height/2,n.map.texture=f.map;else if(f instanceof THREE.MeshPhongMaterial)n.ambient.value=f.ambient,n.specular.value=f.specular,n.shininess.value=f.shininess;else if(f instanceof THREE.MeshDepthMaterial)n.mNear.value=b.near,n.mFar.value=b.far,n.opacity.value=
-f.opacity;else if(f instanceof THREE.MeshNormalMaterial)n.opacity.value=f.opacity;if(h.receiveShadow&&!f._shadowPass&&n.shadowMatrix){for(e=0;e<xa.length;e++)n.shadowMatrix.value[e]=xa[e],n.shadowMap.texture[e]=P.shadowMap[e];n.shadowDarkness.value=P.shadowMapDarkness;n.shadowBias.value=P.shadowMapBias}for(var ka in n)if(p=k.uniforms[ka])if(c=n[ka],v=c.type,e=c.value,v=="i")o.uniform1i(p,e);else if(v=="f")o.uniform1f(p,e);else if(v=="v2")o.uniform2f(p,e.x,e.y);else if(v=="v3")o.uniform3f(p,e.x,e.y,
-e.z);else if(v=="v4")o.uniform4f(p,e.x,e.y,e.z,e.w);else if(v=="c")o.uniform3f(p,e.r,e.g,e.b);else if(v=="fv1")o.uniform1fv(p,e);else if(v=="fv")o.uniform3fv(p,e);else if(v=="v3v"){if(!c._array)c._array=new Float32Array(3*e.length);v=0;for(w=e.length;v<w;v++)x=v*3,c._array[x]=e[v].x,c._array[x+1]=e[v].y,c._array[x+2]=e[v].z;o.uniform3fv(p,c._array)}else if(v=="m4"){if(!c._array)c._array=new Float32Array(16);e.flattenToArray(c._array);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="m4v"){if(!c._array)c._array=
-new Float32Array(16*e.length);v=0;for(w=e.length;v<w;v++)e[v].flattenToArrayOffset(c._array,v*16);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="t"){if(o.uniform1i(p,e),p=c.texture)if(p.image instanceof Array&&p.image.length==6){if(c=p,c.image.length==6)if(c.needsUpdate){if(!c.image.__webglTextureCube)c.image.__webglTextureCube=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);for(e=0;e<6;e++)o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,
-o.RGBA,o.RGBA,o.UNSIGNED_BYTE,c.image[e]);I(o.TEXTURE_CUBE_MAP,c,c.image[0]);c.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else p instanceof THREE.WebGLRenderTargetCube?(c=p,o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.__webglTexture)):C(p,e)}else if(v=="tv"){if(!c._array){c._array=[];v=0;for(w=c.texture.length;v<w;v++)c._array[v]=e+v}o.uniform1iv(p,c._array);v=0;for(w=c.texture.length;v<w;v++)(p=c.texture[v])&&
-C(p,c._array[v])}o.uniformMatrix4fv(m.modelViewMatrix,!1,h._modelViewMatrixArray);m.normalMatrix&&o.uniformMatrix3fv(m.normalMatrix,!1,h._normalMatrixArray);(f instanceof THREE.MeshShaderMaterial||f instanceof THREE.MeshPhongMaterial||f.envMap)&&m.cameraPosition!==null&&o.uniform3f(m.cameraPosition,b.position.x,b.position.y,b.position.z);(f instanceof THREE.MeshShaderMaterial||f.envMap||f.skinning||h.receiveShadow)&&m.objectMatrix!==null&&o.uniformMatrix4fv(m.objectMatrix,!1,h._objectMatrixArray);
-(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshShaderMaterial||f.skinning)&&m.viewMatrix!==null&&o.uniformMatrix4fv(m.viewMatrix,!1,ra);f.skinning&&(o.uniformMatrix4fv(m.cameraInverseMatrix,!1,ra),o.uniformMatrix4fv(m.boneGlobalMatrices,!1,h.boneMatrices));return k}function f(b,c,f,h,k,m){if(h.opacity!=0){var n,b=e(b,c,f,h,m).attributes;if(!h.morphTargets&&b.position>=0)o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(b.position,
-3,o.FLOAT,!1,0,0);else if(m.morphTargetBase){c=h.program.attributes;m.morphTargetBase!==-1?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[m.morphTargetBase]),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0)):c.position>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0));if(m.morphTargetForcedOrder.length)for(var f=0,p=m.morphTargetForcedOrder,t=m.morphTargetInfluences;f<h.numSupportedMorphTargets&&f<p.length;)o.bindBuffer(o.ARRAY_BUFFER,
-k.__webglMorphTargetsBuffers[p[f]]),o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0),m.__webglMorphTargetInfluences[f]=t[p[f]],f++;else{var p=[],u=-1,v=0,t=m.morphTargetInfluences,w,x=t.length,f=0;for(m.morphTargetBase!==-1&&(p[m.morphTargetBase]=!0);f<h.numSupportedMorphTargets;){for(w=0;w<x;w++)!p[w]&&t[w]>u&&(v=w,u=t[v]);o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[v]);o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0);m.__webglMorphTargetInfluences[f]=u;p[v]=1;u=
--1;f++}}h.program.uniforms.morphTargetInfluences!==null&&o.uniform1fv(h.program.uniforms.morphTargetInfluences,m.__webglMorphTargetInfluences)}if(k.__webglCustomAttributes)for(n in k.__webglCustomAttributes)b[n]>=0&&(c=k.__webglCustomAttributes[n],o.bindBuffer(o.ARRAY_BUFFER,c.buffer),o.vertexAttribPointer(b[n],c.size,o.FLOAT,!1,0,0));b.color>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer),o.vertexAttribPointer(b.color,3,o.FLOAT,!1,0,0));b.normal>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglNormalBuffer),
-o.vertexAttribPointer(b.normal,3,o.FLOAT,!1,0,0));b.tangent>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglTangentBuffer),o.vertexAttribPointer(b.tangent,4,o.FLOAT,!1,0,0));b.uv>=0&&(k.__webglUVBuffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUVBuffer),o.vertexAttribPointer(b.uv,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv)):o.disableVertexAttribArray(b.uv));b.uv2>=0&&(k.__webglUV2Buffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUV2Buffer),o.vertexAttribPointer(b.uv2,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv2)):
-o.disableVertexAttribArray(b.uv2));h.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexABuffer),o.vertexAttribPointer(b.skinVertexA,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexBBuffer),o.vertexAttribPointer(b.skinVertexB,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinIndicesBuffer),o.vertexAttribPointer(b.skinIndex,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinWeightsBuffer),
-o.vertexAttribPointer(b.skinWeight,4,o.FLOAT,!1,0,0));m instanceof THREE.Mesh?(h.wireframe?(o.lineWidth(h.wireframeLinewidth),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglLineBuffer),o.drawElements(o.LINES,k.__webglLineCount,o.UNSIGNED_SHORT,0)):(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglFaceBuffer),o.drawElements(o.TRIANGLES,k.__webglFaceCount,o.UNSIGNED_SHORT,0)),P.data.vertices+=k.__webglFaceCount,P.data.faces+=k.__webglFaceCount/3,P.data.drawCalls++):m instanceof THREE.Line?(m=m.type==THREE.LineStrip?
-o.LINE_STRIP:o.LINES,o.lineWidth(h.linewidth),o.drawArrays(m,0,k.__webglLineCount),P.data.drawCalls++):m instanceof THREE.ParticleSystem?(o.drawArrays(o.POINTS,0,k.__webglParticleCount),P.data.drawCalls++):m instanceof THREE.Ribbon&&(o.drawArrays(o.TRIANGLE_STRIP,0,k.__webglVertexCount),P.data.drawCalls++)}}function h(b,e,c){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.createBuffer();if(!b.__webglNormalBuffer)b.__webglNormalBuffer=o.createBuffer();b.hasPos&&(o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),
-o.bufferData(o.ARRAY_BUFFER,b.positionArray,o.DYNAMIC_DRAW),o.enableVertexAttribArray(e.attributes.position),o.vertexAttribPointer(e.attributes.position,3,o.FLOAT,!1,0,0));if(b.hasNormal){o.bindBuffer(o.ARRAY_BUFFER,b.__webglNormalBuffer);if(c==THREE.FlatShading){var f,k,h,m,n,p,t,u,v,w,x=b.count*3;for(w=0;w<x;w+=9)c=b.normalArray,f=c[w],k=c[w+1],h=c[w+2],m=c[w+3],p=c[w+4],u=c[w+5],n=c[w+6],t=c[w+7],v=c[w+8],f=(f+m+n)/3,k=(k+p+t)/3,h=(h+u+v)/3,c[w]=f,c[w+1]=k,c[w+2]=h,c[w+3]=f,c[w+4]=k,c[w+5]=h,c[w+
-6]=f,c[w+7]=k,c[w+8]=h}o.bufferData(o.ARRAY_BUFFER,b.normalArray,o.DYNAMIC_DRAW);o.enableVertexAttribArray(e.attributes.normal);o.vertexAttribPointer(e.attributes.normal,3,o.FLOAT,!1,0,0)}o.drawArrays(o.TRIANGLES,0,b.count);b.count=0}function m(b){if(aa!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):o.enable(o.CULL_FACE),aa=b.doubleSided;if(ma!=b.flipSided)b.flipSided?o.frontFace(o.CW):o.frontFace(o.CCW),ma=b.flipSided}function k(b){ga!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),ga=
-b)}function n(b,e,c){da!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o.POLYGON_OFFSET_FILL),da=b);if(b&&($!=e||ca!=c))o.polygonOffset(e,c),$=e,ca=c}function u(b){V[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-b.n14);V[1].set(b.n41+b.n11,b.n42+b.n12,b.n43+b.n13,b.n44+b.n14);V[2].set(b.n41+b.n21,b.n42+b.n22,b.n43+b.n23,b.n44+b.n24);V[3].set(b.n41-b.n21,b.n42-b.n22,b.n43-b.n23,b.n44-b.n24);V[4].set(b.n41-b.n31,b.n42-b.n32,b.n43-b.n33,b.n44-b.n34);V[5].set(b.n41+b.n31,b.n42+b.n32,b.n43+b.n33,
-b.n44+b.n34);for(var e,b=0;b<6;b++)e=V[b],e.divideScalar(Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z))}function p(b){for(var e=b.matrixWorld,c=-b.geometry.boundingSphere.radius*Math.max(b.scale.x,Math.max(b.scale.y,b.scale.z)),f=0;f<6;f++)if(b=V[f].x*e.n14+V[f].y*e.n24+V[f].z*e.n34+V[f].w,b<=c)return!1;return!0}function v(b,e){b.list[b.count]=e;b.count+=1}function t(b){var e,c,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=k.count=0;for(e=f.materials.length;b<e;b++)c=f.materials[b],c.transparent?v(h,c):
-v(k,c)}function x(b){var e,c,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transparent;o.count=0;b=n.count=0;for(f=h.materials.length;b<f;b++)if(e=h.materials[b],e instanceof THREE.MeshFaceMaterial){e=0;for(c=m.materials.length;e<c;e++)(k=m.materials[e])&&(k.transparent?v(o,k):v(n,k))}else(k=e)&&(k.transparent?v(o,k):v(n,k))}function w(b,e){return e.z-b.z}function z(b,c){var n,t,v,w=0,x,z,y,D,G=b.lights;T||(T=new THREE.Camera(P.shadowCameraFov,c.aspect,P.shadowCameraNear,P.shadowCameraFar));n=0;for(t=
-G.length;n<t;n++)if(v=G[n],v instanceof THREE.SpotLight&&v.castShadow){P.shadowMap[w]||(P.shadowMap[w]=new THREE.WebGLRenderTarget(P.shadowMapWidth,P.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}));xa[w]||(xa[w]=new THREE.Matrix4);x=P.shadowMap[w];z=xa[w];T.position.copy(v.position);T.target.position.copy(v.target.position);T.update(void 0,!0);b.update(void 0,!1,T);z.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);z.multiplySelf(T.projectionMatrix);
-z.multiplySelf(T.matrixWorldInverse);T.matrixWorldInverse.flattenToArray(ra);T.projectionMatrix.flattenToArray(va);pa.multiply(T.projectionMatrix,T.matrixWorldInverse);u(pa);P.initWebGLObjects(b);K(x);o.clearColor(1,1,1,1);P.clear();o.clearColor(M.r,M.g,M.b,Z);z=b.__webglObjects.length;v=b.__webglObjectsImmediate.length;for(x=0;x<z;x++)y=b.__webglObjects[x],D=y.object,D.visible&&D.castShadow?!(D instanceof THREE.Mesh)||!D.frustumCulled||p(D)?(D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,
-T,!1),y.render=!0):y.render=!1:y.render=!1;k(!0);F(THREE.NormalBlending);for(x=0;x<z;x++)if(y=b.__webglObjects[x],y.render)D=y.object,buffer=y.buffer,m(D),y=D.customDepthMaterial?D.customDepthMaterial:D.geometry.morphTargets.length?ya:ka,f(T,G,null,y,buffer,D);for(x=0;x<v;x++)y=b.__webglObjectsImmediate[x],D=y.object,D.visible&&D.castShadow&&(D.matrixAutoUpdate&&D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,T,!1),m(D),program=e(T,G,null,ka,D),D.render(function(b){h(b,program,ka.shading)}));
-w++}}function y(b,e){var c,f,k;c=Y.attributes;var h=Y.uniforms,m=qa/ea,n,p=[],t=ea*0.5,u=qa*0.5,v=!0;o.useProgram(Y.program);na=Y.program;ga=fa=-1;Ga||(o.enableVertexAttribArray(Y.attributes.position),o.enableVertexAttribArray(Y.attributes.uv),Ga=!0);o.disable(o.CULL_FACE);o.enable(o.BLEND);o.depthMask(!0);o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.vertexAttribPointer(c.position,2,o.FLOAT,!1,16,0);o.vertexAttribPointer(c.uv,2,o.FLOAT,!1,16,8);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);
-o.uniformMatrix4fv(h.projectionMatrix,!1,va);o.activeTexture(o.TEXTURE0);o.uniform1i(h.map,0);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.useScreenCoordinates?k.z=-k.position.z:(k._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,k.matrixWorld,k._modelViewMatrixArray),k.z=-k._modelViewMatrix.n34);b.__webglSprites.sort(w);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.material===void 0&&k.map&&k.map.image&&k.map.image.width&&(k.useScreenCoordinates?(o.uniform1i(h.useScreenCoordinates,
-1),o.uniform3f(h.screenPosition,(k.position.x-t)/t,(u-k.position.y)/u,Math.max(0,Math.min(1,k.position.z)))):(o.uniform1i(h.useScreenCoordinates,0),o.uniform1i(h.affectedByDistance,k.affectedByDistance?1:0),o.uniformMatrix4fv(h.modelViewMatrix,!1,k._modelViewMatrixArray)),n=k.map.image.width/(k.scaleByViewport?qa:1),p[0]=n*m*k.scale.x,p[1]=n*k.scale.y,o.uniform2f(h.uvScale,k.uvScale.x,k.uvScale.y),o.uniform2f(h.uvOffset,k.uvOffset.x,k.uvOffset.y),o.uniform2f(h.alignment,k.alignment.x,k.alignment.y),
-o.uniform1f(h.opacity,k.opacity),o.uniform1f(h.rotation,k.rotation),o.uniform2fv(h.scale,p),k.mergeWith3D&&!v?(o.enable(o.DEPTH_TEST),v=!0):!k.mergeWith3D&&v&&(o.disable(o.DEPTH_TEST),v=!1),F(k.blending),C(k.map,0),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));o.enable(o.CULL_FACE);o.enable(o.DEPTH_TEST);o.depthMask(ia)}function B(b,e,c){b._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,b.matrixWorld,b._modelViewMatrixArray);c&&THREE.Matrix4.makeInvert3x3(b._modelViewMatrix).transposeIntoArray(b._normalMatrixArray)}
-function D(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)if(f.attributes[e].needsUpdate)return!0;return!1}function G(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)f.attributes[e].needsUpdate=!1}function H(b,e){var c;for(c=b.length-1;c>=0;c--)b[c].object==e&&b.splice(c,1)}function E(b){function e(b){var k=[];c=0;for(f=b.length;c<f;c++)b[c]==void 0?k.push("undefined"):k.push(b[c].id);return k.join("_")}
-var c,f,k,h,m,n,o,p,t={},u=b.morphTargets!==void 0?b.morphTargets.length:0;b.geometryGroups={};k=0;for(h=b.faces.length;k<h;k++)m=b.faces[k],n=m.materials,o=e(n),t[o]==void 0&&(t[o]={hash:o,counter:0}),p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],materials:n,vertices:0,numMorphTargets:u}),m=m instanceof THREE.Face3?3:4,b.geometryGroups[p].vertices+m>65535&&(t[o].counter+=1,p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],
-materials:n,vertices:0,numMorphTargets:u})),b.geometryGroups[p].faces.push(k),b.geometryGroups[p].vertices+=m;b.geometryGroupsList=[];for(var v in b.geometryGroups)b.geometryGroupsList.push(b.geometryGroups[v])}function N(b,e,c){b.push({buffer:e,object:c,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function F(b){if(b!=fa){switch(b){case THREE.AdditiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE);break;case THREE.SubtractiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,
-o.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,o.SRC_COLOR);break;default:o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}fa=b}}function I(b,e,c){(c.width&c.width-1)==0&&(c.height&c.height-1)==0?(o.texParameteri(b,o.TEXTURE_WRAP_S,S(e.wrapS)),o.texParameteri(b,o.TEXTURE_WRAP_T,S(e.wrapT)),o.texParameteri(b,o.TEXTURE_MAG_FILTER,S(e.magFilter)),o.texParameteri(b,
-o.TEXTURE_MIN_FILTER,S(e.minFilter)),o.generateMipmap(b)):(o.texParameteri(b,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_MAG_FILTER,O(e.magFilter)),o.texParameteri(b,o.TEXTURE_MIN_FILTER,O(e.minFilter)))}function C(b,e){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b.__webglTexture=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_2D,b.__webglTexture);b instanceof THREE.DataTexture?o.texImage2D(o.TEXTURE_2D,
-0,S(b.format),b.image.width,b.image.height,0,S(b.format),o.UNSIGNED_BYTE,b.image.data):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,b.image);I(o.TEXTURE_2D,b,b.image);b.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_2D,b.__webglTexture)}function K(b){var e=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.depthBuffer=!0;if(b.stencilBuffer===void 0)b.stencilBuffer=!0;b.__webglRenderbuffer=o.createRenderbuffer();
-b.__webglTexture=o.createTexture();if(e){o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture);I(o.TEXTURE_CUBE_MAP,b,b);b.__webglFramebuffer=[];for(var c=0;c<6;c++)b.__webglFramebuffer[c]=o.createFramebuffer(),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),null)}else b.__webglFramebuffer=o.createFramebuffer(),o.bindTexture(o.TEXTURE_2D,b.__webglTexture),I(o.TEXTURE_2D,b,b),o.texImage2D(o.TEXTURE_2D,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),
-null);o.bindRenderbuffer(o.RENDERBUFFER,b.__webglRenderbuffer);if(e)for(c=0;c<6;++c)o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer[c]),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+c,b.__webglTexture,0);else o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,b.__webglTexture,0);b.depthBuffer&&!b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,b.width,b.height),
-o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):b.depthBuffer&&b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,b.width,b.height),o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_STENCIL_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,b.width,b.height);e?o.bindTexture(o.TEXTURE_CUBE_MAP,null):o.bindTexture(o.TEXTURE_2D,null);o.bindRenderbuffer(o.RENDERBUFFER,null);o.bindFramebuffer(o.FRAMEBUFFER,
-null)}var f,k;b?(e=e?b.__webglFramebuffer[b.activeCubeFace]:b.__webglFramebuffer,c=b.width,b=b.height,k=f=0):(e=null,c=ea,b=qa,f=X,k=ja);e!=R&&(o.bindFramebuffer(o.FRAMEBUFFER,e),o.viewport(f,k,c,b),R=e)}function U(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture),o.generateMipmap(o.TEXTURE_CUBE_MAP),o.bindTexture(o.TEXTURE_CUBE_MAP,null)):(o.bindTexture(o.TEXTURE_2D,b.__webglTexture),o.generateMipmap(o.TEXTURE_2D),o.bindTexture(o.TEXTURE_2D,null))}function L(b,
-e){var c;b=="fragment"?c=o.createShader(o.FRAGMENT_SHADER):b=="vertex"&&(c=o.createShader(o.VERTEX_SHADER));o.shaderSource(c,e);o.compileShader(c);if(!o.getShaderParameter(c,o.COMPILE_STATUS))return console.error(o.getShaderInfoLog(c)),console.error(e),null;return c}function O(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return o.NEAREST;default:return o.LINEAR}}function S(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;case THREE.ClampToEdgeWrapping:return o.CLAMP_TO_EDGE;
-case THREE.MirroredRepeatWrapping:return o.MIRRORED_REPEAT;case THREE.NearestFilter:return o.NEAREST;case THREE.NearestMipMapNearestFilter:return o.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return o.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return o.LINEAR;case THREE.LinearMipMapNearestFilter:return o.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return o.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return o.BYTE;case THREE.UnsignedByteType:return o.UNSIGNED_BYTE;case THREE.ShortType:return o.SHORT;
-case THREE.UnsignedShortType:return o.UNSIGNED_SHORT;case THREE.IntType:return o.INT;case THREE.UnsignedShortType:return o.UNSIGNED_INT;case THREE.FloatType:return o.FLOAT;case THREE.AlphaFormat:return o.ALPHA;case THREE.RGBFormat:return o.RGB;case THREE.RGBAFormat:return o.RGBA;case THREE.LuminanceFormat:return o.LUMINANCE;case THREE.LuminanceAlphaFormat:return o.LUMINANCE_ALPHA}return 0}var P=this,o,W=[],na=null,R=null,ia=!0,aa=null,ma=null,fa=null,ga=null,da=null,$=null,ca=null,X=0,ja=0,ea=0,qa=
-0,V=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],pa=new THREE.Matrix4,va=new Float32Array(16),ra=new Float32Array(16),sa=new THREE.Vector4,Ca={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]}},b=b||{},wa=b.canvas!==void 0?b.canvas:document.createElement("canvas"),Aa=b.stencil!==void 0?b.stencil:!0,za=b.preserveDrawingBuffer!==void 0?b.preserveDrawingBuffer:!1,Fa=b.antialias!==
-void 0?b.antialias:!1,M=b.clearColor!==void 0?new THREE.Color(b.clearColor):new THREE.Color(0),Z=b.clearAlpha!==void 0?b.clearAlpha:0;_maxLights=b.maxLights!==void 0?b.maxLights:4;this.data={vertices:0,faces:0,drawCalls:0};this.maxMorphTargets=8;this.domElement=wa;this.sortObjects=this.autoClear=!0;this.shadowMapBias=0.0039;this.shadowMapDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCameraNear=1;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowMap=[];this.shadowMapEnabled=
-!1;this.shadowMapSoft=!0;var T,xa=[],b=THREE.ShaderLib.depthRGBA,ha=THREE.UniformsUtils.clone(b.uniforms),ka=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha}),ya=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha,morphTargets:!0});ka._shadowPass=!0;ya._shadowPass=!0;try{if(!(o=wa.getContext("experimental-webgl",{antialias:Fa,stencil:Aa,preserveDrawingBuffer:za})))throw"Error creating WebGL context.";
-console.log(navigator.userAgent+" | "+o.getParameter(o.VERSION)+" | "+o.getParameter(o.VENDOR)+" | "+o.getParameter(o.RENDERER)+" | "+o.getParameter(o.SHADING_LANGUAGE_VERSION))}catch(ta){console.error(ta)}o.clearColor(0,0,0,1);o.clearDepth(1);o.clearStencil(0);o.enable(o.DEPTH_TEST);o.depthFunc(o.LEQUAL);o.frontFace(o.CCW);o.cullFace(o.BACK);o.enable(o.CULL_FACE);o.enable(o.BLEND);o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA);o.clearColor(M.r,M.g,M.b,Z);this.context=
-o;var oa=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,Y={};Y.vertices=new Float32Array(16);Y.faces=new Uint16Array(6);i=0;Y.vertices[i++]=-1;Y.vertices[i++]=-1;Y.vertices[i++]=0;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=0;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=0;i=Y.vertices[i++]=0;Y.faces[i++]=0;Y.faces[i++]=1;Y.faces[i++]=2;Y.faces[i++]=0;Y.faces[i++]=2;Y.faces[i++]=
-3;Y.vertexBuffer=o.createBuffer();Y.elementBuffer=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.bufferData(o.ARRAY_BUFFER,Y.vertices,o.STATIC_DRAW);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);o.bufferData(o.ELEMENT_ARRAY_BUFFER,Y.faces,o.STATIC_DRAW);Y.program=o.createProgram();o.attachShader(Y.program,L("fragment",THREE.ShaderLib.sprite.fragmentShader));o.attachShader(Y.program,L("vertex",THREE.ShaderLib.sprite.vertexShader));o.linkProgram(Y.program);Y.attributes={};Y.uniforms=
-{};Y.attributes.position=o.getAttribLocation(Y.program,"position");Y.attributes.uv=o.getAttribLocation(Y.program,"uv");Y.uniforms.uvOffset=o.getUniformLocation(Y.program,"uvOffset");Y.uniforms.uvScale=o.getUniformLocation(Y.program,"uvScale");Y.uniforms.rotation=o.getUniformLocation(Y.program,"rotation");Y.uniforms.scale=o.getUniformLocation(Y.program,"scale");Y.uniforms.alignment=o.getUniformLocation(Y.program,"alignment");Y.uniforms.map=o.getUniformLocation(Y.program,"map");Y.uniforms.opacity=o.getUniformLocation(Y.program,
-"opacity");Y.uniforms.useScreenCoordinates=o.getUniformLocation(Y.program,"useScreenCoordinates");Y.uniforms.affectedByDistance=o.getUniformLocation(Y.program,"affectedByDistance");Y.uniforms.screenPosition=o.getUniformLocation(Y.program,"screenPosition");Y.uniforms.modelViewMatrix=o.getUniformLocation(Y.program,"modelViewMatrix");Y.uniforms.projectionMatrix=o.getUniformLocation(Y.program,"projectionMatrix");var Ga=!1;this.setSize=function(b,e){wa.width=b;wa.height=e;this.setViewport(0,0,wa.width,
-wa.height)};this.setViewport=function(b,e,c,f){X=b;ja=e;ea=c;qa=f;o.viewport(X,ja,ea,qa)};this.setScissor=function(b,e,c,f){o.scissor(b,e,c,f)};this.enableScissorTest=function(b){b?o.enable(o.SCISSOR_TEST):o.disable(o.SCISSOR_TEST)};this.enableDepthBufferWrite=function(b){ia=b;o.depthMask(b)};this.setClearColorHex=function(b,e){M.setHex(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.setClearColor=function(b,e){M.copy(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.clear=function(){o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT|
-o.STENCIL_BUFFER_BIT)};this.getContext=function(){return o};this.deallocateObject=function(b){if(b.__webglInit)if(b.__webglInit=!1,delete b._modelViewMatrix,delete b._normalMatrixArray,delete b._modelViewMatrixArray,delete b._objectMatrixArray,b instanceof THREE.Mesh)for(g in b.geometry.geometryGroups){var e=b.geometry.geometryGroups[g];o.deleteBuffer(e.__webglVertexBuffer);o.deleteBuffer(e.__webglNormalBuffer);o.deleteBuffer(e.__webglTangentBuffer);o.deleteBuffer(e.__webglColorBuffer);o.deleteBuffer(e.__webglUVBuffer);
-o.deleteBuffer(e.__webglUV2Buffer);o.deleteBuffer(e.__webglSkinVertexABuffer);o.deleteBuffer(e.__webglSkinVertexBBuffer);o.deleteBuffer(e.__webglSkinIndicesBuffer);o.deleteBuffer(e.__webglSkinWeightsBuffer);o.deleteBuffer(e.__webglFaceBuffer);o.deleteBuffer(e.__webglLineBuffer);if(e.numMorphTargets)for(var c=0,f=e.numMorphTargets;c<f;c++)o.deleteBuffer(e.__webglMorphTargetsBuffers[c])}else if(b instanceof THREE.Ribbon)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);
-else if(b instanceof THREE.Line)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);else if(b instanceof THREE.ParticleSystem)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer)};this.deallocateTexture=function(b){if(b.__webglInit)b.__webglInit=!1,o.deleteTexture(b.__webglTexture)};this.initMaterial=function(b,e,c,f){var k,h,m;b instanceof THREE.MeshDepthMaterial?m="depth":b instanceof THREE.MeshNormalMaterial?m="normal":b instanceof
-THREE.MeshBasicMaterial?m="basic":b instanceof THREE.MeshLambertMaterial?m="lambert":b instanceof THREE.MeshPhongMaterial?m="phong":b instanceof THREE.LineBasicMaterial?m="basic":b instanceof THREE.ParticleBasicMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];b.uniforms=THREE.UniformsUtils.clone(n.uniforms);b.vertexShader=n.vertexShader;b.fragmentShader=n.fragmentShader}var p,t,u;p=u=n=0;for(t=e.length;p<t;p++)h=e[p],h instanceof THREE.SpotLight&&u++,h instanceof THREE.DirectionalLight&&
-u++,h instanceof THREE.PointLight&&n++;n+u<=_maxLights?p=u:(p=Math.ceil(_maxLights*u/(n+u)),n=_maxLights-p);h={directional:p,point:n};n=u=0;for(p=e.length;n<p;n++)t=e[n],t instanceof THREE.SpotLight&&t.castShadow&&u++;var v=50;if(f!==void 0&&f instanceof THREE.SkinnedMesh)v=f.bones.length;var w;a:{p=b.fragmentShader;t=b.vertexShader;var n=b.uniforms,e=b.attributes,c={map:!!b.map,envMap:!!b.envMap,lightMap:!!b.lightMap,vertexColors:b.vertexColors,fog:c,sizeAttenuation:b.sizeAttenuation,skinning:b.skinning,
-morphTargets:b.morphTargets,maxMorphTargets:this.maxMorphTargets,maxDirLights:h.directional,maxPointLights:h.point,maxBones:v,shadowMapEnabled:this.shadowMapEnabled&&f.receiveShadow,shadowMapSoft:this.shadowMapSoft,shadowMapWidth:this.shadowMapWidth,shadowMapHeight:this.shadowMapHeight,maxShadows:u,alphaTest:b.alphaTest},x,f=[];m?f.push(m):(f.push(p),f.push(t));for(x in c)f.push(x),f.push(c[x]);m=f.join();x=0;for(f=W.length;x<f;x++)if(W[x].code==m){w=W[x].program;break a}x=o.createProgram();f=[oa?
-"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":"",c.sizeAttenuation?
-"#define USE_SIZEATTENUATION":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform mat4 cameraInverseMatrix;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinVertexA;\nattribute vec4 skinVertexB;\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
-h=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",c.fog?"#define USE_FOG":"",c.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":
-"",c.shadowMapSoft?"#define SHADOWMAP_WIDTH "+c.shadowMapWidth.toFixed(1):"",c.shadowMapSoft?"#define SHADOWMAP_HEIGHT "+c.shadowMapHeight.toFixed(1):"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");o.attachShader(x,L("fragment",h+p));o.attachShader(x,L("vertex",f+t));o.linkProgram(x);o.getProgramParameter(x,o.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+o.getProgramParameter(x,o.VALIDATE_STATUS)+", gl error ["+o.getError()+"]");x.uniforms=
-{};x.attributes={};var M,f=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition","cameraInverseMatrix","boneGlobalMatrices","morphTargetInfluences"];for(M in n)f.push(M);M=f;f=0;for(n=M.length;f<n;f++)p=M[f],x.uniforms[p]=o.getUniformLocation(x,p);f=["position","normal","uv","uv2","tangent","color","skinVertexA","skinVertexB","skinIndex","skinWeight"];for(M=0;M<c.maxMorphTargets;M++)f.push("morphTarget"+M);for(w in e)f.push(w);w=f;M=0;for(e=w.length;M<e;M++)c=
-w[M],x.attributes[c]=o.getAttribLocation(x,c);W.push({program:x,code:m});w=x}b.program=w;w=b.program.attributes;w.position>=0&&o.enableVertexAttribArray(w.position);w.color>=0&&o.enableVertexAttribArray(w.color);w.normal>=0&&o.enableVertexAttribArray(w.normal);w.tangent>=0&&o.enableVertexAttribArray(w.tangent);b.skinning&&w.skinVertexA>=0&&w.skinVertexB>=0&&w.skinIndex>=0&&w.skinWeight>=0&&(o.enableVertexAttribArray(w.skinVertexA),o.enableVertexAttribArray(w.skinVertexB),o.enableVertexAttribArray(w.skinIndex),
-o.enableVertexAttribArray(w.skinWeight));if(b.attributes)for(k in b.attributes)w[k]!==void 0&&w[k]>=0&&o.enableVertexAttribArray(w[k]);if(b.morphTargets)for(k=b.numSupportedMorphTargets=0;k<this.maxMorphTargets;k++)M="morphTarget"+k,w[M]>=0&&(o.enableVertexAttribArray(w[M]),b.numSupportedMorphTargets++)};this.clearTarget=function(b,c,e,f){K(b);b=0;c&&(b|=o.COLOR_BUFFER_BIT);e&&(b|=o.DEPTH_BUFFER_BIT);f&&(b|=o.STENCIL_BUFFER_BIT);o.clear(b)};this.render=function(b,c,o,v){var M,T,D,Z,G,H,E,V,ka=b.lights,
-C=b.fog;this.shadowMapEnabled&&z(b,c);P.data.vertices=0;P.data.faces=0;P.data.drawCalls=0;c.matrixAutoUpdate&&c.update(void 0,!0);b.update(void 0,!1,c);c.matrixWorldInverse.flattenToArray(ra);c.projectionMatrix.flattenToArray(va);pa.multiply(c.projectionMatrix,c.matrixWorldInverse);u(pa);this.initWebGLObjects(b);K(o);(this.autoClear||v)&&this.clear();G=b.__webglObjects.length;for(v=0;v<G;v++)if(M=b.__webglObjects[v],E=M.object,E.visible)if(!(E instanceof THREE.Mesh)||!E.frustumCulled||p(E)){if(E.matrixWorld.flattenToArray(E._objectMatrixArray),
-B(E,c,!0),x(M),M.render=!0,this.sortObjects)M.object.renderDepth?M.z=M.object.renderDepth:(sa.copy(E.position),pa.multiplyVector3(sa),M.z=sa.z)}else M.render=!1;else M.render=!1;this.sortObjects&&b.__webglObjects.sort(w);H=b.__webglObjectsImmediate.length;for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(E.matrixAutoUpdate&&E.matrixWorld.flattenToArray(E._objectMatrixArray),B(E,c,!0),t(M));if(b.overrideMaterial){k(b.overrideMaterial.depthTest);F(b.overrideMaterial.blending);for(v=
-0;v<G;v++)if(M=b.__webglObjects[v],M.render)E=M.object,V=M.buffer,m(E),f(c,ka,C,b.overrideMaterial,V,E);for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(m(E),T=e(c,ka,C,b.overrideMaterial,E),E.render(function(c){h(c,T,b.overrideMaterial.shading)}))}else{F(THREE.NormalBlending);for(v=G-1;v>=0;v--)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),
-f(c,ka,C,Z,V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}for(v=0;v<G;v++)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),f(c,ka,C,Z,
-V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}}b.__webglSprites.length&&y(b,c);o&&o.minFilter!==THREE.NearestFilter&&o.minFilter!==THREE.LinearFilter&&U(o)};this.initWebGLObjects=function(b){if(!b.__webglObjects)b.__webglObjects=[],b.__webglObjectsImmediate=[],b.__webglSprites=
-[];for(;b.__objectsAdded.length;){var e=b.__objectsAdded[0],f=b,k=void 0,h=void 0,m=void 0;if(!e.__webglInit)if(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrixArray=new Float32Array(9),e._modelViewMatrixArray=new Float32Array(16),e._objectMatrixArray=new Float32Array(16),e.matrixWorld.flattenToArray(e._objectMatrixArray),e instanceof THREE.Mesh)for(k in h=e.geometry,h.geometryGroups==void 0&&E(h),h.geometryGroups){m=h.geometryGroups[k];if(!m.__webglVertexBuffer){var n=m;n.__webglVertexBuffer=
-o.createBuffer();n.__webglNormalBuffer=o.createBuffer();n.__webglTangentBuffer=o.createBuffer();n.__webglColorBuffer=o.createBuffer();n.__webglUVBuffer=o.createBuffer();n.__webglUV2Buffer=o.createBuffer();n.__webglSkinVertexABuffer=o.createBuffer();n.__webglSkinVertexBBuffer=o.createBuffer();n.__webglSkinIndicesBuffer=o.createBuffer();n.__webglSkinWeightsBuffer=o.createBuffer();n.__webglFaceBuffer=o.createBuffer();n.__webglLineBuffer=o.createBuffer();if(n.numMorphTargets){var p=void 0,t=void 0;n.__webglMorphTargetsBuffers=
-[];p=0;for(t=n.numMorphTargets;p<t;p++)n.__webglMorphTargetsBuffers.push(o.createBuffer())}for(var n=m,p=e,v=void 0,u=void 0,w=void 0,x=w=void 0,M=void 0,T=void 0,z=T=t=0,y=w=u=void 0,Z=y=u=v=void 0,w=void 0,x=p.geometry,M=x.faces,y=n.faces,v=0,u=y.length;v<u;v++)w=y[v],w=M[w],w instanceof THREE.Face3?(t+=3,T+=1,z+=3):w instanceof THREE.Face4&&(t+=4,T+=2,z+=4);for(var v=n,u=p,B=y=M=void 0,V=void 0,B=void 0,w=[],M=0,y=u.materials.length;M<y;M++)if(B=u.materials[M],B instanceof THREE.MeshFaceMaterial){B=
-0;for(l=v.materials.length;B<l;B++)(V=v.materials[B])&&w.push(V)}else(V=B)&&w.push(V);v=w;n.__materials=v;a:{M=u=void 0;y=v.length;for(u=0;u<y;u++)if(M=v[u],M.map||M.lightMap||M instanceof THREE.MeshShaderMaterial){u=!0;break a}u=!1}a:{y=M=void 0;w=v.length;for(M=0;M<w;M++)if(y=v[M],!(y instanceof THREE.MeshBasicMaterial&&!y.envMap||y instanceof THREE.MeshDepthMaterial)){y=y&&y.shading!=void 0&&y.shading==THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading;break a}y=!1}a:{w=M=void 0;B=v.length;
-for(M=0;M<B;M++)if(w=v[M],w.vertexColors){w=w.vertexColors;break a}w=!1}n.__vertexArray=new Float32Array(t*3);if(y)n.__normalArray=new Float32Array(t*3);if(x.hasTangents)n.__tangentArray=new Float32Array(t*4);if(w)n.__colorArray=new Float32Array(t*3);if(u){if(x.faceUvs.length>0||x.faceVertexUvs.length>0)n.__uvArray=new Float32Array(t*2);if(x.faceUvs.length>1||x.faceVertexUvs.length>1)n.__uv2Array=new Float32Array(t*2)}if(p.geometry.skinWeights.length&&p.geometry.skinIndices.length)n.__skinVertexAArray=
-new Float32Array(t*4),n.__skinVertexBArray=new Float32Array(t*4),n.__skinIndexArray=new Float32Array(t*4),n.__skinWeightArray=new Float32Array(t*4);n.__faceArray=new Uint16Array(T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0));n.__lineArray=new Uint16Array(z*2);if(n.numMorphTargets){n.__morphTargetsArrays=[];x=0;for(M=n.numMorphTargets;x<M;x++)n.__morphTargetsArrays.push(new Float32Array(t*3))}n.__needsSmoothNormals=y==THREE.SmoothShading;n.__uvType=u;n.__vertexColorType=w;n.__normalType=
-y;n.__webglFaceCount=T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0);n.__webglLineCount=z*2;x=0;for(M=v.length;x<M;x++)if(u=v[x],u.attributes){if(n.__webglCustomAttributes===void 0)n.__webglCustomAttributes={};for(a in u.attributes){w=u.attributes[a];y={};for(Z in w)y[Z]=w[Z];if(!y.__webglInitialized||y.createUniqueBuffers)y.__webglInitialized=!0,T=1,y.type==="v2"?T=2:y.type==="v3"?T=3:y.type==="v4"?T=4:y.type==="c"&&(T=3),y.size=T,y.array=new Float32Array(t*T),y.buffer=o.createBuffer(),
-y.buffer.belongsToAttribute=a,w.needsUpdate=!0,y.__original=w;n.__webglCustomAttributes[a]=y}}n.__inittedArrays=!0;h.__dirtyVertices=!0;h.__dirtyMorphTargets=!0;h.__dirtyElements=!0;h.__dirtyUvs=!0;h.__dirtyNormals=!0;h.__dirtyTangents=!0;h.__dirtyColors=!0}N(f.__webglObjects,m,e)}else if(e instanceof THREE.Ribbon){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=
-new Float32Array(m*3),k.__webglVertexCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.Line){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=new Float32Array(m*3),k.__webglLineCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.ParticleSystem){h=e.geometry;
-if(!h.__webglVertexBuffer){k=h;k.__webglVertexBuffer=o.createBuffer();k.__webglColorBuffer=o.createBuffer();k=h;m=e;n=k.vertices.length;k.__vertexArray=new Float32Array(n*3);k.__colorArray=new Float32Array(n*3);k.__sortArray=[];k.__webglParticleCount=n;k.__materials=m.materials;Z=t=p=void 0;p=0;for(t=m.materials.length;p<t;p++)if(Z=m.materials[p],Z.attributes){if(k.__webglCustomAttributes===void 0)k.__webglCustomAttributes={};for(a in Z.attributes){originalAttribute=Z.attributes[a];attribute={};for(property in originalAttribute)attribute[property]=
-originalAttribute[property];if(!attribute.__webglInitialized||attribute.createUniqueBuffers)attribute.__webglInitialized=!0,size=1,attribute.type==="v2"?size=2:attribute.type==="v3"?size=3:attribute.type==="v4"?size=4:attribute.type==="c"&&(size=3),attribute.size=size,attribute.array=new Float32Array(n*size),attribute.buffer=o.createBuffer(),attribute.buffer.belongsToAttribute=a,originalAttribute.needsUpdate=!0,attribute.__original=originalAttribute;k.__webglCustomAttributes[a]=attribute}}h.__dirtyVertices=
-!0;h.__dirtyColors=!0}N(f.__webglObjects,h,e)}else THREE.MarchingCubes!==void 0&&e instanceof THREE.MarchingCubes?f.__webglObjectsImmediate.push({object:e,opaque:{list:[],count:0},transparent:{list:[],count:0}}):e instanceof THREE.Sprite&&f.__webglSprites.push(e);b.__objectsAdded.splice(0,1)}for(;b.__objectsRemoved.length;){f=b.__objectsRemoved[0];e=b;if(f instanceof THREE.Mesh||f instanceof THREE.ParticleSystem||f instanceof THREE.Ribbon||f instanceof THREE.Line)H(e.__webglObjects,f);else if(f instanceof
-THREE.Sprite){e=e.__webglSprites;h=void 0;for(h=e.length-1;h>=0;h--)e[h]==f&&e.splice(h,1)}else f instanceof THREE.MarchingCubes&&H(e.__webglObjectsImmediate,f);b.__objectsRemoved.splice(0,1)}e=0;for(f=b.__webglObjects.length;e<f;e++)if(k=b.__webglObjects[e].object,t=m=h=void 0,k instanceof THREE.Mesh){h=k.geometry;n=0;for(p=h.geometryGroupsList.length;n<p;n++)if(m=h.geometryGroupsList[n],t=D(m),h.__dirtyVertices||h.__dirtyMorphTargets||h.__dirtyElements||h.__dirtyUvs||h.__dirtyNormals||h.__dirtyColors||
-h.__dirtyTangents||t)if(t=m,Z=o.DYNAMIC_DRAW,T=!h.dynamic,t.__inittedArrays){var ka=x=z=void 0,C=void 0,xa=ka=void 0,K=void 0,pa=void 0,ha=void 0,I=V=B=w=y=M=u=v=void 0,L=void 0,J=C=ha=C=pa=K=void 0,A=void 0,F=A=J=K=void 0,Y=void 0,va=F=A=J=ka=ka=xa=ha=C=F=A=J=Y=F=A=J=Y=F=A=J=void 0,O=0,X=0,S=0,ra=0,R=0,ca=0,P=0,ya=0,oa=0,Q=0,U=0,F=J=0,F=void 0,W=t.__vertexArray,ja=t.__uvArray,fa=t.__uv2Array,ma=t.__normalArray,$=t.__tangentArray,sa=t.__colorArray,aa=t.__skinVertexAArray,ea=t.__skinVertexBArray,ta=
-t.__skinIndexArray,da=t.__skinWeightArray,na=t.__morphTargetsArrays,ga=t.__webglCustomAttributes,A=void 0,qa=t.__faceArray,ia=t.__lineArray,Ga=t.__needsSmoothNormals,u=t.__vertexColorType,v=t.__uvType,M=t.__normalType,wa=k.geometry,Ca=wa.__dirtyVertices,Aa=wa.__dirtyElements,za=wa.__dirtyUvs,Fa=wa.__dirtyNormals,Za=wa.__dirtyTangents,$a=wa.__dirtyColors,ab=wa.__dirtyMorphTargets,Oa=wa.vertices,cb=t.faces,fb=wa.faces,db=wa.faceVertexUvs[0],eb=wa.faceVertexUvs[1],Pa=wa.skinVerticesA,Qa=wa.skinVerticesB,
-Ra=wa.skinIndices,Ia=wa.skinWeights,Ha=wa.morphTargets;if(ga)for(va in ga)ga[va].offset=0,ga[va].offsetSrc=0;z=0;for(x=cb.length;z<x;z++)if(ka=cb[z],C=fb[ka],db&&(y=db[ka]),eb&&(w=eb[ka]),ka=C.vertexNormals,xa=C.normal,K=C.vertexColors,pa=C.color,ha=C.vertexTangents,C instanceof THREE.Face3){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,X+=9;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=
-A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],A.array[J+2]=A.value[C.c]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.offsetSrc+=3),A.offset+=3):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c]):A.boundTo==="faces"?(I=V=B=F=A.value[F],
-A.offsetSrc++):A.boundTo==="faceVertices"&&(B=A.value[F],V=A.value[F+1],I=A.value[F+2],A.offsetSrc+=3),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.offset+=6):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=
-V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z),A.offset+=9):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.offset+=12));if(ab){J=0;for(A=Ha.length;J<A;J++)B=Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+
-7]=I.y,F[U+8]=I.z;U+=9}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=
-1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,Q+=12;if($a&&u)K.length==3&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2]):A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,oa+=9;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+
-3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,P+=12;if(Fa&&M)if(ka.length==3&&Ga)for(ha=0;ha<3;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<3;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<3;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<3;ha++)ka=w[ha],fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+2,R+=3,ia[ya]=O,ia[ya+1]=O+
-1,ia[ya+2]=O,ia[ya+3]=O+2,ia[ya+4]=O+1,ia[ya+5]=O+2,ya+=6,O+=3)}else if(C instanceof THREE.Face4){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,L=Oa[C.d].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,W[X+9]=L.x,W[X+10]=L.y,W[X+11]=L.z,X+=12;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],
-A.array[J+2]=A.value[C.c],A.array[J+3]=A.value[C.d]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.array[J+3]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.array[J+3]=A.value[F+3],A.offsetSrc+=4),A.offset+=4):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c],L=A.value[C.d]):A.boundTo==="faces"?(L=I=V=B=F=A.value[F],A.offsetSrc++):A.boundTo==="faceVertices"&&
-(B=A.value[F],V=A.value[F+1],I=A.value[F+2],L=A.value[F+3],A.offsetSrc+=4),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.array[J+6]=L.x,A.array[J+7]=L.y,A.offset+=8):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b,A.array[J+9]=L.r,A.array[J+10]=L.g,A.array[J+11]=L.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+
-2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z,A.array[J+9]=L.x,A.array[J+10]=L.y,A.array[J+11]=L.z),A.offset+=12):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.array[J+12]=L.x,A.array[J+13]=L.y,A.array[J+14]=L.z,A.array[J+15]=L.w,A.offset+=16));if(ab){J=0;for(A=Ha.length;J<A;J++)B=
-Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,L=Ha[J].vertices[C.d].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+7]=I.y,F[U+8]=I.z,F[U+9]=L.x,F[U+10]=L.y,F[U+11]=L.z;U+=12}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],Y=Ia[C.d],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,da[Q+12]=Y.x,da[Q+13]=Y.y,da[Q+14]=Y.z,
-da[Q+15]=Y.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],Y=Ra[C.d],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,ta[Q+12]=Y.x,ta[Q+13]=Y.y,ta[Q+14]=Y.z,ta[Q+15]=Y.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],Y=Pa[C.d],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,aa[Q+12]=Y.x,aa[Q+13]=Y.y,aa[Q+14]=Y.z,aa[Q+15]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],
-C=Qa[C.d],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,ea[Q+12]=C.x,ea[Q+13]=C.y,ea[Q+14]=C.z,ea[Q+15]=1,Q+=16;if($a&&u)K.length==4&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2],K=K[3]):K=A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,sa[oa+9]=K.r,sa[oa+10]=K.g,sa[oa+11]=K.b,oa+=12;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],ha=
-ha[3],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,$[P+12]=ha.x,$[P+13]=ha.y,$[P+14]=ha.z,$[P+15]=ha.w,P+=16;if(Fa&&M)if(ka.length==4&&Ga)for(ha=0;ha<4;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<4;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<4;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<4;ha++)ka=w[ha],
-fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+3,qa[R+3]=O+1,qa[R+4]=O+2,qa[R+5]=O+3,R+=6,ia[ya]=O,ia[ya+1]=O+1,ia[ya+2]=O,ia[ya+3]=O+3,ia[ya+4]=O+1,ia[ya+5]=O+2,ia[ya+6]=O+2,ia[ya+7]=O+3,ya+=8,O+=4)}Ca&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,W,Z));if(ga)for(va in ga)A=ga[va],A.__original.needsUpdate&&(o.bindBuffer(o.ARRAY_BUFFER,A.buffer),o.bufferData(o.ARRAY_BUFFER,A.array,Z));if(ab){J=0;for(A=Ha.length;J<A;J++)o.bindBuffer(o.ARRAY_BUFFER,
-t.__webglMorphTargetsBuffers[J]),o.bufferData(o.ARRAY_BUFFER,na[J],Z)}$a&&oa>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,sa,Z));Fa&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglNormalBuffer),o.bufferData(o.ARRAY_BUFFER,ma,Z));Za&&wa.hasTangents&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglTangentBuffer),o.bufferData(o.ARRAY_BUFFER,$,Z));za&&S>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUVBuffer),o.bufferData(o.ARRAY_BUFFER,ja,Z));za&&ra>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUV2Buffer),
-o.bufferData(o.ARRAY_BUFFER,fa,Z));Aa&&(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglFaceBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,qa,Z),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglLineBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,ia,Z));Q>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexABuffer),o.bufferData(o.ARRAY_BUFFER,aa,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexBBuffer),o.bufferData(o.ARRAY_BUFFER,ea,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinIndicesBuffer),o.bufferData(o.ARRAY_BUFFER,
-ta,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinWeightsBuffer),o.bufferData(o.ARRAY_BUFFER,da,Z));T&&(delete t.__inittedArrays,delete t.__colorArray,delete t.__normalArray,delete t.__tangentArray,delete t.__uvArray,delete t.__uv2Array,delete t.__faceArray,delete t.__vertexArray,delete t.__lineArray,delete t.__skinVertexAArray,delete t.__skinVertexBArray,delete t.__skinIndexArray,delete t.__skinWeightArray)}h.__dirtyVertices=!1;h.__dirtyMorphTargets=!1;h.__dirtyElements=!1;h.__dirtyUvs=!1;h.__dirtyNormals=
-!1;h.__dirtyTangents=!1;h.__dirtyColors=!1;G(m)}else if(k instanceof THREE.Ribbon){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+
-1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.Line){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);
-o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.ParticleSystem)h=k.geometry,t=D(h),(h.__dirtyVertices||h.__dirtyColors||k.sortParticles||t)&&c(h,o.DYNAMIC_DRAW,k),h.__dirtyVertices=!1,h.__dirtyColors=!1,G(h)};this.setFaceCulling=function(b,e){b?(!e||e=="ccw"?o.frontFace(o.CCW):o.frontFace(o.CW),
-b=="back"?o.cullFace(o.BACK):b=="front"?o.cullFace(o.FRONT):o.cullFace(o.FRONT_AND_BACK),o.enable(o.CULL_FACE)):o.disable(o.CULL_FACE)};this.supportsVertexTextures=function(){return oa}};
-THREE.WebGLRenderTarget=function(b,c,e){this.width=b;this.height=c;e=e||{};this.wrapS=e.wrapS!==void 0?e.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=e.wrapT!==void 0?e.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=e.magFilter!==void 0?e.magFilter:THREE.LinearFilter;this.minFilter=e.minFilter!==void 0?e.minFilter:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=e.format!==void 0?e.format:THREE.RGBAFormat;this.type=e.type!==void 0?e.type:
-THREE.UnsignedByteType;this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0;this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!0};
-THREE.WebGLRenderTarget.prototype.clone=function(){var b=new THREE.WebGLRenderTarget(this.width,this.height);b.wrapS=this.wrapS;b.wrapT=this.wrapT;b.magFilter=this.magFilter;b.minFilter=this.minFilter;b.offset.copy(this.offset);b.repeat.copy(this.repeat);b.format=this.format;b.type=this.type;b.depthBuffer=this.depthBuffer;b.stencilBuffer=this.stencilBuffer;return b};THREE.WebGLRenderTargetCube=function(b,c,e){THREE.WebGLRenderTarget.call(this,b,c,e);this.activeCubeFace=0};
-THREE.WebGLRenderTargetCube.prototype=new THREE.WebGLRenderTarget;THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(b){this.positionWorld.copy(b.positionWorld);this.positionScreen.copy(b.positionScreen)};
-THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
-THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
-THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.materials=null};
-THREE.ColorUtils={adjustHSV:function(b,c,e,f){var h=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(b,h);h.h=THREE.ColorUtils.clamp(h.h+c,0,1);h.s=THREE.ColorUtils.clamp(h.s+e,0,1);h.v=THREE.ColorUtils.clamp(h.v+f,0,1);b.setHSV(h.h,h.s,h.v)},rgbToHsv:function(b,c){var e=b.r,f=b.g,h=b.b,m=Math.max(Math.max(e,f),h),k=Math.min(Math.min(e,f),h);if(k==m)k=e=0;else{var n=m-k,k=n/m,e=e==m?(f-h)/n:f==m?2+(h-e)/n:4+(e-f)/n;e/=6;e<0&&(e+=1);e>1&&(e-=1)}c===void 0&&(c={h:0,s:0,v:0});c.h=e;c.s=k;c.v=m;return c},
-clamp:function(b,c,e){return b<c?c:b>e?e:b}};THREE.ColorUtils.__hsv={h:0,s:0,v:0};
-THREE.GeometryUtils={merge:function(b,c){var e=c instanceof THREE.Mesh,f=b.vertices.length,h=e?c.geometry:c,m=b.vertices,k=h.vertices,n=b.faces,u=h.faces,p=b.faceVertexUvs[0],h=h.faceVertexUvs[0];e&&c.matrixAutoUpdate&&c.updateMatrix();for(var v=0,t=k.length;v<t;v++){var x=new THREE.Vertex(k[v].position.clone());e&&c.matrix.multiplyVector3(x.position);m.push(x)}v=0;for(t=u.length;v<t;v++){var k=u[v],w,z,y=k.vertexNormals,x=k.vertexColors;k instanceof THREE.Face3?w=new THREE.Face3(k.a+f,k.b+f,k.c+
-f):k instanceof THREE.Face4&&(w=new THREE.Face4(k.a+f,k.b+f,k.c+f,k.d+f));w.normal.copy(k.normal);e=0;for(m=y.length;e<m;e++)z=y[e],w.vertexNormals.push(z.clone());w.color.copy(k.color);e=0;for(m=x.length;e<m;e++)z=x[e],w.vertexColors.push(z.clone());w.materials=k.materials.slice();w.centroid.copy(k.centroid);n.push(w)}v=0;for(t=h.length;v<t;v++){f=h[v];n=[];e=0;for(m=f.length;e<m;e++)n.push(new THREE.UV(f[e].u,f[e].v));p.push(n)}},clone:function(b){var c=new THREE.Geometry,e,f=b.vertices,h=b.faces,
-m=b.faceVertexUvs[0],b=0;for(e=f.length;b<e;b++){var k=new THREE.Vertex(f[b].position.clone());c.vertices.push(k)}b=0;for(e=h.length;b<e;b++){var n=h[b],u,p,v=n.vertexNormals,t=n.vertexColors;n instanceof THREE.Face3?u=new THREE.Face3(n.a,n.b,n.c):n instanceof THREE.Face4&&(u=new THREE.Face4(n.a,n.b,n.c,n.d));u.normal.copy(n.normal);f=0;for(k=v.length;f<k;f++)p=v[f],u.vertexNormals.push(p.clone());u.color.copy(n.color);f=0;for(k=t.length;f<k;f++)p=t[f],u.vertexColors.push(p.clone());u.materials=n.materials.slice();
-u.centroid.copy(n.centroid);c.faces.push(u)}b=0;for(e=m.length;b<e;b++){h=m[b];u=[];f=0;for(k=h.length;f<k;f++)u.push(new THREE.UV(h[f].u,h[f].v));c.faceVertexUvs[0].push(u)}return c},randomPointInTriangle:function(b,c,e){var f,h,m,k=new THREE.Vector3,n=THREE.GeometryUtils.__v1;f=THREE.GeometryUtils.random();h=THREE.GeometryUtils.random();f+h>1&&(f=1-f,h=1-h);m=1-f-h;k.copy(b);k.multiplyScalar(f);n.copy(c);n.multiplyScalar(h);k.addSelf(n);n.copy(e);n.multiplyScalar(m);k.addSelf(n);return k},randomPointInFace:function(b,
-c,e){var f,h,m;if(b instanceof THREE.Face3)return f=c.vertices[b.a].position,h=c.vertices[b.b].position,m=c.vertices[b.c].position,THREE.GeometryUtils.randomPointInTriangle(f,h,m);else if(b instanceof THREE.Face4){f=c.vertices[b.a].position;h=c.vertices[b.b].position;m=c.vertices[b.c].position;var c=c.vertices[b.d].position,k;e?b._area1&&b._area2?(e=b._area1,k=b._area2):(e=THREE.GeometryUtils.triangleArea(f,h,c),k=THREE.GeometryUtils.triangleArea(h,m,c),b._area1=e,b._area2=k):(e=THREE.GeometryUtils.triangleArea(f,
-h,c),k=THREE.GeometryUtils.triangleArea(h,m,c));return THREE.GeometryUtils.random()*(e+k)<e?THREE.GeometryUtils.randomPointInTriangle(f,h,c):THREE.GeometryUtils.randomPointInTriangle(h,m,c)}},randomPointsInGeometry:function(b,c){function e(b){function e(c,f){if(f<c)return c;var k=c+Math.floor((f-c)/2);return p[k]>b?e(c,k-1):p[k]<b?e(k+1,f):k}return e(0,p.length-1)}var f,h,m=b.faces,k=b.vertices,n=m.length,u=0,p=[],v,t,x,w;for(h=0;h<n;h++){f=m[h];if(f instanceof THREE.Face3)v=k[f.a].position,t=k[f.b].position,
-x=k[f.c].position,f._area=THREE.GeometryUtils.triangleArea(v,t,x);else if(f instanceof THREE.Face4)v=k[f.a].position,t=k[f.b].position,x=k[f.c].position,w=k[f.d].position,f._area1=THREE.GeometryUtils.triangleArea(v,t,w),f._area2=THREE.GeometryUtils.triangleArea(t,x,w),f._area=f._area1+f._area2;u+=f._area;p[h]=u}f=[];k={};for(h=0;h<c;h++)n=THREE.GeometryUtils.random()*u,n=e(n),f[h]=THREE.GeometryUtils.randomPointInFace(m[n],b,!0),k[n]?k[n]+=1:k[n]=1;return f},triangleArea:function(b,c,e){var f,h=THREE.GeometryUtils.__v1;
-h.sub(b,c);f=h.length();h.sub(b,e);b=h.length();h.sub(c,e);e=h.length();c=0.5*(f+b+e);return Math.sqrt(c*(c-f)*(c-b)*(c-e))},random16:function(){return(65280*Math.random()+255*Math.random())/65535}};THREE.GeometryUtils.random=THREE.GeometryUtils.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
-THREE.ImageUtils={loadTexture:function(b,c,e){var f=new Image,h=new THREE.Texture(f,c);f.onload=function(){h.needsUpdate=!0;e&&e(this)};f.crossOrigin="";f.src=b;return h},loadTextureCube:function(b,c,e){var f,h=[],m=new THREE.Texture(h,c),c=h.loadCount=0;for(f=b.length;c<f;++c)h[c]=new Image,h[c].onload=function(){h.loadCount+=1;if(h.loadCount==6)m.needsUpdate=!0;e&&e(this)},h[c].crossOrigin="",h[c].src=b[c];return m},getNormalMap:function(b,c){var e=function(b){var e=Math.sqrt(b[0]*b[0]+b[1]*b[1]+
-b[2]*b[2]);return[b[0]/e,b[1]/e,b[2]/e]};c|=1;var f=b.width,h=b.height,m=document.createElement("canvas");m.width=f;m.height=h;var k=m.getContext("2d");k.drawImage(b,0,0);for(var n=k.getImageData(0,0,f,h).data,u=k.createImageData(f,h),p=u.data,v=0;v<f;v++)for(var t=1;t<h;t++){var x=t-1<0?h-1:t-1,w=(t+1)%h,z=v-1<0?f-1:v-1,y=(v+1)%f,B=[],D=[0,0,n[(t*f+v)*4]/255*c];B.push([-1,0,n[(t*f+z)*4]/255*c]);B.push([-1,-1,n[(x*f+z)*4]/255*c]);B.push([0,-1,n[(x*f+v)*4]/255*c]);B.push([1,-1,n[(x*f+y)*4]/255*c]);
-B.push([1,0,n[(t*f+y)*4]/255*c]);B.push([1,1,n[(w*f+y)*4]/255*c]);B.push([0,1,n[(w*f+v)*4]/255*c]);B.push([-1,1,n[(w*f+z)*4]/255*c]);x=[];z=B.length;for(w=0;w<z;w++){var y=B[w],G=B[(w+1)%z],y=[y[0]-D[0],y[1]-D[1],y[2]-D[2]],G=[G[0]-D[0],G[1]-D[1],G[2]-D[2]];x.push(e([y[1]*G[2]-y[2]*G[1],y[2]*G[0]-y[0]*G[2],y[0]*G[1]-y[1]*G[0]]))}B=[0,0,0];for(w=0;w<x.length;w++)B[0]+=x[w][0],B[1]+=x[w][1],B[2]+=x[w][2];B[0]/=x.length;B[1]/=x.length;B[2]/=x.length;D=(t*f+v)*4;p[D]=(B[0]+1)/2*255|0;p[D+1]=(B[1]+0.5)*
-255|0;p[D+2]=B[2]*255|0;p[D+3]=255}k.putImageData(u,0,0);return m}};THREE.SceneUtils={showHierarchy:function(b,c){THREE.SceneUtils.traverseHierarchy(b,function(b){b.visible=c})},traverseHierarchy:function(b,c){var e,f,h=b.children.length;for(f=0;f<h;f++)e=b.children[f],c(e),THREE.SceneUtils.traverseHierarchy(e,c)}};
-if(THREE.WebGLRenderer)THREE.ShaderUtils={lib:{fresnel:{uniforms:{mRefractionRatio:{type:"f",value:1.02},mFresnelBias:{type:"f",value:0.1},mFresnelPower:{type:"f",value:2},mFresnelScale:{type:"f",value:1},tCube:{type:"t",value:1,texture:null}},fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\nvec4 refractedColor = vec4( 1.0, 1.0, 1.0, 1.0 );\nrefractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;\nrefractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;\nrefractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;\nrefractedColor.a = 1.0;\ngl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );\n}",
-vertexShader:"uniform float mRefractionRatio;\nuniform float mFresnelBias;\nuniform float mFresnelScale;\nuniform float mFresnelPower;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = normalize ( mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal );\nvec3 I = mPosition.xyz - cameraPosition;\nvReflect = reflect( I, nWorld );\nvRefract[0] = refract( normalize( I ), nWorld, mRefractionRatio );\nvRefract[1] = refract( normalize( I ), nWorld, mRefractionRatio * 0.99 );\nvRefract[2] = refract( normalize( I ), nWorld, mRefractionRatio * 0.98 );\nvReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), nWorld ), mFresnelPower );\ngl_Position = projectionMatrix * mvPosition;\n}"},
-normal:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},tDiffuse:{type:"t",value:0,texture:null},tNormal:{type:"t",value:2,texture:null},tSpecular:{type:"t",value:3,texture:null},tAO:{type:"t",value:4,texture:null},uNormalScale:{type:"f",value:1},tDisplacement:{type:"t",value:5,texture:null},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",
-value:new THREE.Color(15658734)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(328965)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform float uNormalScale;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;",
-THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( 1.0 );\nvec4 mColor = vec4( uDiffuseColor, uOpacity );\nvec4 mSpecular = vec4( uSpecularColor, uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse )\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\nif( enableAO )\ngl_FragColor = gl_FragColor * texture2D( tAO, vUv );\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( vTangent, vBinormal, vNormal );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointTotal = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = specularTex.r * pow( pointDotNormalHalf, uShininess );\npointTotal += pointDistance * vec4( pointLightColor[ i ], 1.0 ) * ( mColor * pointDiffuseWeight + mSpecular * pointSpecularWeight * pointDiffuseWeight );\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirTotal = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = specularTex.r * pow( dirDotNormalHalf, uShininess );\ndirTotal += vec4( directionalLightColor[ i ], 1.0 ) * ( mColor * dirDiffuseWeight + mSpecular * dirSpecularWeight * dirDiffuseWeight );\n}\n#endif\nvec4 totalLight = vec4( ambientLightColor * uAmbientColor, uOpacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirTotal;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointTotal;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
-THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:"attribute vec4 tangent;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvViewPosition = -mvPosition.xyz;\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvBinormal = normalize( vBinormal );\nvUv = uv;\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#ifdef VERTEX_TEXTURES\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\nvec4 displacedPosition = vec4( vNormal.xyz * df, 0.0 ) + mvPosition;\ngl_Position = projectionMatrix * displacedPosition;\n#else\ngl_Position = projectionMatrix * mvPosition;\n#endif\n}"},
-cube:{uniforms:{tCube:{type:"t",value:1,texture:null}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( - wPos.x, wPos.yz ) );\n}"}}};
-THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(b){return this.getPoint(this.getUtoTmapping(b))};THREE.Curve.prototype.getPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPoint(c/b));return e};THREE.Curve.prototype.getSpacedPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPointAt(c/b));return e};
-THREE.Curve.prototype.getLength=function(){var b=this.getLengths();return b[b.length-1]};THREE.Curve.prototype.getLengths=function(b){b||(b=200);if(this.cacheArcLengths&&this.cacheArcLengths.length==b+1)return this.cacheArcLengths;var c=[],e,f=this.getPoint(0),h,m=0;c.push(0);for(h=1;h<=b;h++)e=this.getPoint(h/b),m+=e.distanceTo(f),c.push(m),f=e;return this.cacheArcLengths=c};
-THREE.Curve.prototype.getUtoTmapping=function(b,c){var e=this.getLengths(),f=0,h=e.length,m;m=c?c:b*e[h-1];time=Date.now();for(var k=0,n=h-1,u;k<=n;)if(f=Math.floor(k+(n-k)/2),u=e[f]-m,u<0)k=f+1;else if(u>0)n=f-1;else{n=f;break}f=n;if(e[f]==m)return f/(h-1);k=e[f];return e=(f+(m-k)/(e[f+1]-k))/(h-1)};THREE.Curve.prototype.getNormalVector=function(b){b=this.getTangent(b);return new THREE.Vector2(-b.y,b.x)};
-THREE.Curve.prototype.getTangent=function(b){var c=b-1.0E-4;b+=1.0E-4;c<0&&(c=0);b>1&&(b=1);var c=this.getPoint(c),b=this.getPoint(b),e=new THREE.Vector2;e.sub(b,c);return e.unit()};THREE.LineCurve=function(b,c){b instanceof THREE.Vector2?(this.v1=b,this.v2=c):THREE.LineCurve.oldConstructor.apply(this,arguments)};THREE.LineCurve.oldConstructor=function(b,c,e,f){this.constructor(new THREE.Vector2(b,c),new THREE.Vector2(e,f))};THREE.LineCurve.prototype=new THREE.Curve;
-THREE.LineCurve.prototype.constructor=THREE.LineCurve;THREE.LineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2;c.sub(this.v2,this.v1);c.multiplyScalar(b).addSelf(this.v1);return c};THREE.LineCurve.prototype.getPointAt=function(b){return this.getPoint(b)};THREE.LineCurve.prototype.getTangent=function(){var b=new THREE.Vector2;b.sub(this.v2,this.v1);b.normalize();return b};
-THREE.QuadraticBezierCurve=function(b,c,e){if(!(c instanceof THREE.Vector2))var f=Array.prototype.slice.call(arguments),b=new THREE.Vector2(f[0],f[1]),c=new THREE.Vector2(f[2],f[3]),e=new THREE.Vector2(f[4],f[5]);this.v0=b;this.v1=c;this.v2=e};THREE.QuadraticBezierCurve.prototype=new THREE.Curve;THREE.QuadraticBezierCurve.prototype.constructor=THREE.QuadraticBezierCurve;
-THREE.QuadraticBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(c,b)};THREE.QuadraticBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.y,this.v1.y,this.v2.y);c=new THREE.Vector2(c,b);c.normalize();return c};
-THREE.CubicBezierCurve=function(b,c,e,f){if(!(c instanceof THREE.Vector2))var h=Array.prototype.slice.call(arguments),b=new THREE.Vector2(h[0],h[1]),c=new THREE.Vector2(h[2],h[3]),e=new THREE.Vector2(h[4],h[5]),f=new THREE.Vector2(h[6],h[7]);this.v0=b;this.v1=c;this.v2=e;this.v3=f};THREE.CubicBezierCurve.prototype=new THREE.Curve;THREE.CubicBezierCurve.prototype.constructor=THREE.CubicBezierCurve;
-THREE.CubicBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b3(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Shape.Utils.b3(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(c,b)};THREE.CubicBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);c=new THREE.Vector2(c,b);c.normalize();return c};
-THREE.SplineCurve=function(b){this.points=b};THREE.SplineCurve.prototype=new THREE.Curve;THREE.SplineCurve.prototype.constructor=THREE.SplineCurve;
-THREE.SplineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2,e=[],f=this.points,h;h=(f.length-1)*b;b=Math.floor(h);h-=b;e[0]=b==0?b:b-1;e[1]=b;e[2]=b>f.length-2?b:b+1;e[3]=b>f.length-3?b:b+2;c.x=THREE.Curve.Utils.interpolate(f[e[0]].x,f[e[1]].x,f[e[2]].x,f[e[3]].x,h);c.y=THREE.Curve.Utils.interpolate(f[e[0]].y,f[e[1]].y,f[e[2]].y,f[e[3]].y,h);return c};THREE.ArcCurve=function(b,c,e,f,h,m){this.aX=b;this.aY=c;this.aRadius=e;this.aStartAngle=f;this.aEndAngle=h;this.aClockwise=m};
-THREE.ArcCurve.prototype=new THREE.Curve;THREE.ArcCurve.prototype.constructor=THREE.ArcCurve;THREE.ArcCurve.prototype.getPoint=function(b){var c=this.aEndAngle-this.aStartAngle;this.aClockwise||(b=1-b);b=this.aStartAngle+b*c;return new THREE.Vector2(this.aX+this.aRadius*Math.cos(b),this.aY+this.aRadius*Math.sin(b))};
-THREE.Curve.Utils={tangentQuadraticBezier:function(b,c,e,f){return 2*(1-b)*(e-c)+2*b*(f-e)},tangentCubicBezier:function(b,c,e,f,h){return-3*c*(1-b)*(1-b)+3*e*(1-b)*(1-b)-6*b*e*(1-b)+6*b*f*(1-b)-3*b*b*f+3*b*b*h},tangentSpline:function(b){return 6*b*b-6*b+(3*b*b-4*b+1)+(-6*b*b+6*b)+(3*b*b-2*b)},interpolate:function(b,c,e,f,h){var b=(e-b)*0.5,f=(f-c)*0.5,m=h*h;return(2*c-2*e+b+f)*h*m+(-3*c+3*e-2*b-f)*m+b*h+c}};
-THREE.Curve.create=function(b,c){b.prototype=new THREE.Curve;b.prototype.constructor=b;b.prototype.getPoint=c;return b};THREE.LineCurve3=THREE.Curve.create(function(b,c){this.v1=b;this.v2=c},function(b){var c=new THREE.Vector3;c.sub(v2,v1);c.multiplyScalar(b);c.addSelf(this.v1);return c});
-THREE.QuadraticBezierCurve3=THREE.Curve.create(function(b,c,e){this.v0=b;this.v1=c;this.v2=e},function(b){var c,e;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);e=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);b=THREE.Shape.Utils.b2(b,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(c,e,b)});THREE.CurvePath=function(){this.curves=[];this.bends=[]};THREE.CurvePath.prototype=new THREE.Curve;THREE.CurvePath.prototype.constructor=THREE.CurvePath;THREE.CurvePath.prototype.add=function(b){this.curves.push(b)};
-THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){};THREE.CurvePath.prototype.getPoint=function(b){for(var c=b*this.getLength(),e=this.getCurveLengths(),b=0;b<e.length;){if(e[b]>=c)return c=e[b]-c,b=this.curves[b],c=1-c/b.getLength(),b.getPointAt(c);b++}return null};THREE.CurvePath.prototype.getLength=function(){var b=this.getCurveLengths();return b[b.length-1]};
-THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var b=[],c=0,e,f=this.curves.length;for(e=0;e<f;e++)c+=this.curves[e].getLength(),b.push(c);return this.cacheLengths=b};
-THREE.CurvePath.prototype.getBoundingBox=function(){var b=this.getPoints(),c,e,f,h;c=e=Number.NEGATIVE_INFINITY;f=h=Number.POSITIVE_INFINITY;var m,k,n,u;u=new THREE.Vector2;k=0;for(n=b.length;k<n;k++){m=b[k];if(m.x>c)c=m.x;else if(m.x<f)f=m.x;if(m.y>e)e=m.y;else if(m.y<e)h=m.y;u.addSelf(m.x,m.y)}return{minX:f,minY:h,maxX:c,maxY:e,centroid:u.divideScalar(n)}};THREE.CurvePath.prototype.createPointsGeometry=function(b){return this.createGeometry(this.getPoints(b,!0))};
-THREE.CurvePath.prototype.createSpacedPointsGeometry=function(b){return this.createGeometry(this.getSpacedPoints(b,!0))};THREE.CurvePath.prototype.createGeometry=function(b){for(var c=new THREE.Geometry,e=0;e<b.length;e++)c.vertices.push(new THREE.Vertex(new THREE.Vector3(b[e].x,b[e].y,0)));return c};THREE.CurvePath.prototype.addWrapPath=function(b){this.bends.push(b)};
-THREE.CurvePath.prototype.getTransformedPoints=function(b,c){var e=this.getPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(b,c){var e=this.getSpacedPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};
-THREE.CurvePath.prototype.getWrapPoints=function(b,c){var e=this.getBoundingBox(),f,h,m,k,n,u;f=0;for(h=b.length;f<h;f++)m=b[f],k=m.x,n=m.y,u=k/e.maxX,u=c.getUtoTmapping(u,k),k=c.getPoint(u),n=c.getNormalVector(u).multiplyScalar(n),m.x=k.x+n.x,m.y=k.y+n.y;return b};THREE.Path=function(b){THREE.CurvePath.call(this);this.actions=[];b&&this.fromPoints(b)};THREE.Path.prototype=new THREE.CurvePath;THREE.Path.prototype.constructor=THREE.Path;
-THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc"};THREE.Path.prototype.fromPoints=function(b){this.moveTo(b[0].x,b[0].y);var c,e=b.length;for(c=1;c<e;c++)this.lineTo(b[c].x,b[c].y)};THREE.Path.prototype.moveTo=function(){var b=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:b})};
-THREE.Path.prototype.lineTo=function(b,c){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args;this.curves.push(new THREE.LineCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(b,c)));this.actions.push({action:THREE.PathActions.LINE_TO,args:e})};
-THREE.Path.prototype.quadraticCurveTo=function(b,c,e,f){var h=Array.prototype.slice.call(arguments),m=this.actions[this.actions.length-1].args;this.curves.push(new THREE.QuadraticBezierCurve(new THREE.Vector2(m[m.length-2],m[m.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f)));this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:h})};
-THREE.Path.prototype.bezierCurveTo=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments),n=this.actions[this.actions.length-1].args;this.curves.push(new THREE.CubicBezierCurve(new THREE.Vector2(n[n.length-2],n[n.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f),new THREE.Vector2(h,m)));this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:k})};
-THREE.Path.prototype.splineThru=function(b){var c=Array.prototype.slice.call(arguments),e=this.actions[this.actions.length-1].args,e=[new THREE.Vector2(e[e.length-2],e[e.length-1])],e=e.concat(b);this.curves.push(new THREE.SplineCurve(e));this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:c})};THREE.Path.prototype.arc=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments);this.curves.push(new THREE.ArcCurve(b,c,e,f,h,m));this.actions.push({action:THREE.PathActions.ARC,args:k})};
-THREE.Path.prototype.getSpacedPoints=function(b){b||(b=40);for(var c=[],e=0;e<b;e++)c.push(this.getPoint(e/b));return c};
-THREE.Path.prototype.getPoints=function(b,c){var b=b||12,e=[],f,h,m,k,n,u,p,v,t,x,w,z,y;f=0;for(h=this.actions.length;f<h;f++)switch(m=this.actions[f],k=m.action,m=m.args,k){case THREE.PathActions.LINE_TO:e.push(new THREE.Vector2(m[0],m[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:n=m[2];u=m[3];t=m[0];x=m[1];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b2(y,w,t,n),y=THREE.Shape.Utils.b2(y,z,x,
-u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.BEZIER_CURVE_TO:n=m[4];u=m[5];t=m[0];x=m[1];p=m[2];v=m[3];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b3(y,w,t,p,n),y=THREE.Shape.Utils.b3(y,z,x,v,u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.CSPLINE_THRU:k=this.actions[f-1].args;k=[new THREE.Vector2(k[k.length-2],k[k.length-1])];y=b*m[0].length;k=k.concat(m[0]);m=new THREE.SplineCurve(k);
-for(k=1;k<=y;k++)e.push(m.getPointAt(k/y));break;case THREE.PathActions.ARC:k=this.actions[f-1].args;n=m[0];u=m[1];p=m[2];t=m[3];y=m[4];x=!!m[5];v=k[k.length-2];w=k[k.length-1];k.length==0&&(v=w=0);z=y-t;var B=b*2;for(k=1;k<=B;k++)y=k/B,x||(y=1-y),y=t+y*z,m=v+n+p*Math.cos(y),y=w+u+p*Math.sin(y),e.push(new THREE.Vector2(m,y))}c&&e.push(e[0]);return e};THREE.Path.prototype.transform=function(b,c){this.getBoundingBox();return this.getWrapPoints(this.getPoints(c),b)};
-THREE.Path.prototype.nltransform=function(b,c,e,f,h,m){var k=this.getPoints(),n,u,p,v,t;n=0;for(u=k.length;n<u;n++)p=k[n],v=p.x,t=p.y,p.x=b*v+c*t+e,p.y=f*t+h*v+m;return k};
-THREE.Path.prototype.debug=function(b){var c=this.getBoundingBox();b||(b=document.createElement("canvas"),b.setAttribute("width",c.maxX+100),b.setAttribute("height",c.maxY+100),document.body.appendChild(b));c=b.getContext("2d");c.fillStyle="white";c.fillRect(0,0,b.width,b.height);c.strokeStyle="black";c.beginPath();var e,f,h,b=0;for(e=this.actions.length;b<e;b++)f=this.actions[b],h=f.args,f=f.action,f!=THREE.PathActions.CSPLINE_THRU&&c[f].apply(c,h);c.stroke();c.closePath();c.strokeStyle="red";f=
-this.getPoints();b=0;for(e=f.length;b<e;b++)h=f[b],c.beginPath(),c.arc(h.x,h.y,1.5,0,Math.PI*2,!1),c.stroke(),c.closePath()};
-THREE.Path.prototype.toShapes=function(){var b,c,e,f,h=[],m=new THREE.Path;b=0;for(c=this.actions.length;b<c;b++)e=this.actions[b],f=e.args,e=e.action,e==THREE.PathActions.MOVE_TO&&m.actions.length!=0&&(h.push(m),m=new THREE.Path),m[e].apply(m,f);m.actions.length!=0&&h.push(m);if(h.length==0)return[];var k,m=[];if(THREE.Shape.Utils.isClockWise(h[0].getPoints())){b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k&&m.push(k),k=new THREE.Shape,k.actions=f.actions,k.curves=
-f.curves):k.holes.push(f);m.push(k)}else{k=new THREE.Shape;b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k.actions=f.actions,k.curves=f.curves,m.push(k),k=new THREE.Shape):k.holes.push(f)}return m};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=new THREE.Path;THREE.Shape.prototype.constructor=THREE.Path;THREE.Shape.prototype.extrude=function(b){return new THREE.ExtrudeGeometry(this,b)};
-THREE.Shape.prototype.getPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedPoints(b,this.bends);return f};THREE.Shape.prototype.getSpacedPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedSpacedPoints(b,this.bends);return f};THREE.Shape.prototype.extractAllPoints=function(b){return{shape:this.getTransformedPoints(b),holes:this.getPointsHoles(b)}};
-THREE.Shape.prototype.extractAllSpacedPoints=function(b){return{shape:this.getTransformedSpacedPoints(b),holes:this.getSpacedPointsHoles(b)}};
-THREE.Shape.Utils={removeHoles:function(b,c){var e=b.concat(),f=e.concat(),h,m,k,n,u,p,v,t,x,w,z=[];for(u=0;u<c.length;u++){p=c[u];f=f.concat(p);m=Number.POSITIVE_INFINITY;for(h=0;h<p.length;h++){x=p[h];w=[];for(t=0;t<e.length;t++)v=e[t],v=x.distanceToSquared(v),w.push(v),v<m&&(m=v,k=h,n=t)}h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;var y=[p[k],e[n],e[h]];t=THREE.FontUtils.Triangulate.area(y);var B=[p[k],p[m],e[n]];x=THREE.FontUtils.Triangulate.area(B);w=n;v=k;n+=1;k+=-1;n<0&&(n+=e.length);n%=
-e.length;k<0&&(k+=p.length);k%=p.length;h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;y=[p[k],e[n],e[h]];y=THREE.FontUtils.Triangulate.area(y);B=[p[k],p[m],e[n]];B=THREE.FontUtils.Triangulate.area(B);t+x>y+B&&(n=w,k=v,n<0&&(n+=e.length),n%=e.length,k<0&&(k+=p.length),k%=p.length,h=n-1>=0?n-1:e.length-1,m=k-1>=0?k-1:p.length-1);t=e.slice(0,n);x=e.slice(n);w=p.slice(k);v=p.slice(0,k);m=[p[k],p[m],e[n]];z.push([p[k],e[n],e[h]]);z.push(m);e=t.concat(w).concat(v).concat(x)}return{shape:e,isolatedPts:z,
-allpoints:f}},triangulateShape:function(b,c){var e=THREE.Shape.Utils.removeHoles(b,c),f=e.allpoints,h=e.isolatedPts,e=THREE.FontUtils.Triangulate(e.shape,!1),m,k,n,u,p={};m=0;for(k=f.length;m<k;m++)u=f[m].x+":"+f[m].y,p[u]!==void 0&&console.log("Duplicate point",u),p[u]=m;m=0;for(k=e.length;m<k;m++){n=e[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}m=0;for(k=h.length;m<k;m++){n=h[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}return e.concat(h)},isClockWise:function(b){return THREE.FontUtils.Triangulate.area(b)<
-0},b2p0:function(b,c){var e=1-b;return e*e*c},b2p1:function(b,c){return 2*(1-b)*b*c},b2p2:function(b,c){return b*b*c},b2:function(b,c,e,f){return this.b2p0(b,c)+this.b2p1(b,e)+this.b2p2(b,f)},b3p0:function(b,c){var e=1-b;return e*e*e*c},b3p1:function(b,c){var e=1-b;return 3*e*e*b*c},b3p2:function(b,c){return 3*(1-b)*b*b*c},b3p3:function(b,c){return b*b*b*c},b3:function(b,c,e,f,h){return this.b3p0(b,c)+this.b3p1(b,e)+this.b3p2(b,f)+this.b3p3(b,h)}};
-THREE.TextPath=function(b,c){THREE.Path.call(this);this.parameters=c||{};this.set(b)};THREE.TextPath.prototype.set=function(b,c){this.text=b;var c=c||this.parameters,e=c.curveSegments!==void 0?c.curveSegments:4,f=c.font!==void 0?c.font:"helvetiker",h=c.weight!==void 0?c.weight:"normal",m=c.style!==void 0?c.style:"normal";THREE.FontUtils.size=c.size!==void 0?c.size:100;THREE.FontUtils.divisions=e;THREE.FontUtils.face=f;THREE.FontUtils.weight=h;THREE.FontUtils.style=m};
-THREE.TextPath.prototype.toShapes=function(){for(var b=THREE.FontUtils.drawText(this.text).paths,c=[],e=0,f=b.length;e<f;e++)c=c.concat(b[e].toShapes());return c};
-THREE.AnimationHandler=function(){var b=[],c={},e={update:function(e){for(var c=0;c<b.length;c++)b[c].update(e)},addToUpdate:function(e){b.indexOf(e)===-1&&b.push(e)},removeFromUpdate:function(e){e=b.indexOf(e);e!==-1&&b.splice(e,1)},add:function(b){c[b.name]!==void 0&&console.log("THREE.AnimationHandler.add: Warning! "+b.name+" already exists in library. Overwriting.");c[b.name]=b;if(b.initialized!==!0){for(var e=0;e<b.hierarchy.length;e++){for(var f=0;f<b.hierarchy[e].keys.length;f++){if(b.hierarchy[e].keys[f].time<
-0)b.hierarchy[e].keys[f].time=0;if(b.hierarchy[e].keys[f].rot!==void 0&&!(b.hierarchy[e].keys[f].rot instanceof THREE.Quaternion)){var n=b.hierarchy[e].keys[f].rot;b.hierarchy[e].keys[f].rot=new THREE.Quaternion(n[0],n[1],n[2],n[3])}}if(b.hierarchy[e].keys[0].morphTargets!==void 0){n={};for(f=0;f<b.hierarchy[e].keys.length;f++)for(var u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++){var p=b.hierarchy[e].keys[f].morphTargets[u];n[p]=-1}b.hierarchy[e].usedMorphTargets=n;for(f=0;f<b.hierarchy[e].keys.length;f++){var v=
-{};for(p in n){for(u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++)if(b.hierarchy[e].keys[f].morphTargets[u]===p){v[p]=b.hierarchy[e].keys[f].morphTargetsInfluences[u];break}u===b.hierarchy[e].keys[f].morphTargets.length&&(v[p]=0)}b.hierarchy[e].keys[f].morphTargetsInfluences=v}}for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].time===b.hierarchy[e].keys[f-1].time&&(b.hierarchy[e].keys.splice(f,1),f--);for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].index=f}f=parseInt(b.length*
-b.fps,10);b.JIT={};b.JIT.hierarchy=[];for(e=0;e<b.hierarchy.length;e++)b.JIT.hierarchy.push(Array(f));b.initialized=!0}},get:function(b){if(typeof b==="string")return c[b]?c[b]:(console.log("THREE.AnimationHandler.get: Couldn't find animation "+b),null)},parse:function(b){var e=[];if(b instanceof THREE.SkinnedMesh)for(var c=0;c<b.bones.length;c++)e.push(b.bones[c]);else f(b,e);return e}},f=function(b,e){e.push(b);for(var c=0;c<b.children.length;c++)f(b.children[c],e)};e.LINEAR=0;e.CATMULLROM=1;e.CATMULLROM_FORWARD=
-2;return e}();THREE.Animation=function(b,c,e,f){this.root=b;this.data=THREE.AnimationHandler.get(c);this.hierarchy=THREE.AnimationHandler.parse(b);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=e!==void 0?e:THREE.AnimationHandler.LINEAR;this.JITCompile=f!==void 0?f:!0;this.points=[];this.target=new THREE.Vector3};
-THREE.Animation.prototype.play=function(b,c){if(!this.isPlaying){this.isPlaying=!0;this.loop=b!==void 0?b:!0;this.currentTime=c!==void 0?c:0;var e,f=this.hierarchy.length,h;for(e=0;e<f;e++){h=this.hierarchy[e];if(this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD)h.useQuaternion=!0;h.matrixAutoUpdate=!0;if(h.animationCache===void 0)h.animationCache={},h.animationCache.prevKey={pos:0,rot:0,scl:0},h.animationCache.nextKey={pos:0,rot:0,scl:0},h.animationCache.originalMatrix=h instanceof
-THREE.Bone?h.skinMatrix:h.matrix;var m=h.animationCache.prevKey;h=h.animationCache.nextKey;m.pos=this.data.hierarchy[e].keys[0];m.rot=this.data.hierarchy[e].keys[0];m.scl=this.data.hierarchy[e].keys[0];h.pos=this.getNextKeyWith("pos",e,1);h.rot=this.getNextKeyWith("rot",e,1);h.scl=this.getNextKeyWith("scl",e,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
-THREE.Animation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
-THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var b=0;b<this.hierarchy.length;b++)if(this.hierarchy[b].animationCache!==void 0)this.hierarchy[b]instanceof THREE.Bone?this.hierarchy[b].skinMatrix=this.hierarchy[b].animationCache.originalMatrix:this.hierarchy[b].matrix=this.hierarchy[b].animationCache.originalMatrix,delete this.hierarchy[b].animationCache};
-THREE.Animation.prototype.update=function(b){if(this.isPlaying){var c=["pos","rot","scl"],e,f,h,m,k,n,u,p,v=this.data.JIT.hierarchy,t,x;this.currentTime+=b*this.timeScale;x=this.currentTime;t=this.currentTime%=this.data.length;p=parseInt(Math.min(t*this.data.fps,this.data.length*this.data.fps),10);for(var w=0,z=this.hierarchy.length;w<z;w++)if(b=this.hierarchy[w],u=b.animationCache,this.JITCompile&&v[w][p]!==void 0)b instanceof THREE.Bone?(b.skinMatrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=
-!1):(b.matrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!0);else{if(this.JITCompile)b instanceof THREE.Bone?b.skinMatrix=b.animationCache.originalMatrix:b.matrix=b.animationCache.originalMatrix;for(var y=0;y<3;y++){e=c[y];k=u.prevKey[e];n=u.nextKey[e];if(n.time<=x){if(t<x)if(this.loop){k=this.data.hierarchy[w].keys[0];for(n=this.getNextKeyWith(e,w,1);n.time<t;)k=n,n=this.getNextKeyWith(e,w,n.index+1)}else{this.stop();return}else{do k=n,n=this.getNextKeyWith(e,w,n.index+1);while(n.time<
-t)}u.prevKey[e]=k;u.nextKey[e]=n}b.matrixAutoUpdate=!0;b.matrixWorldNeedsUpdate=!0;f=(t-k.time)/(n.time-k.time);h=k[e];m=n[e];if(f<0||f>1)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+f+" on bone "+w),f=f<0?0:1;if(e==="pos")if(e=b.position,this.interpolationType===THREE.AnimationHandler.LINEAR)e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)if(this.points[0]=
-this.getPrevKeyWith("pos",w,k.index-1).pos,this.points[1]=h,this.points[2]=m,this.points[3]=this.getNextKeyWith("pos",w,n.index+1).pos,f=f*0.33+0.33,h=this.interpolateCatmullRom(this.points,f),e.x=h[0],e.y=h[1],e.z=h[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)f=this.interpolateCatmullRom(this.points,f*1.01),this.target.set(f[0],f[1],f[2]),this.target.subSelf(e),this.target.y=0,this.target.normalize(),f=Math.atan2(this.target.x,this.target.z),b.rotation.set(0,f,0)}else if(e===
-"rot")THREE.Quaternion.slerp(h,m,b.quaternion,f);else if(e==="scl")e=b.scale,e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f}}if(this.JITCompile&&v[0][p]===void 0){this.hierarchy[0].update(void 0,!0);for(w=0;w<this.hierarchy.length;w++)v[w][p]=this.hierarchy[w]instanceof THREE.Bone?this.hierarchy[w].skinMatrix.clone():this.hierarchy[w].matrix.clone()}}};
-THREE.Animation.prototype.interpolateCatmullRom=function(b,c){var e=[],f=[],h,m,k,n,u,p;h=(b.length-1)*c;m=Math.floor(h);h-=m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>b.length-2?m:m+1;e[3]=m>b.length-3?m:m+2;m=b[e[0]];n=b[e[1]];u=b[e[2]];p=b[e[3]];e=h*h;k=h*e;f[0]=this.interpolate(m[0],n[0],u[0],p[0],h,e,k);f[1]=this.interpolate(m[1],n[1],u[1],p[1],h,e,k);f[2]=this.interpolate(m[2],n[2],u[2],p[2],h,e,k);return f};
-THREE.Animation.prototype.interpolate=function(b,c,e,f,h,m,k){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*k+(-3*(c-e)-2*b-f)*m+b*h+c};THREE.Animation.prototype.getNextKeyWith=function(b,c,e){var f=this.data.hierarchy[c].keys;for(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e=e<f.length-1?e:f.length-1:e%=f.length;e<f.length;e++)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[0]};
-THREE.Animation.prototype.getPrevKeyWith=function(b,c,e){for(var f=this.data.hierarchy[c].keys,e=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e>0?e:0:e>=0?e:e+f.length;e>=0;e--)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[f.length-1]};
-THREE.FirstPersonCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.movementSpeed=1;this.lookSpeed=0.005;this.noFly=!1;this.lookVertical=!0;this.autoForward=!1;this.activeLook=!0;this.heightSpeed=!1;this.heightCoef=1;this.heightMin=0;this.constrainVertical=!1;this.verticalMin=0;this.verticalMax=3.14;this.domElement=document;this.lastUpdate=(new Date).getTime();this.tdiff=0;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=
-b.movementSpeed;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.noFly!==void 0)this.noFly=b.noFly;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.autoForward!==void 0)this.autoForward=b.autoForward;if(b.activeLook!==void 0)this.activeLook=b.activeLook;if(b.heightSpeed!==void 0)this.heightSpeed=b.heightSpeed;if(b.heightCoef!==void 0)this.heightCoef=b.heightCoef;if(b.heightMin!==void 0)this.heightMin=b.heightMin;if(b.heightMax!==void 0)this.heightMax=b.heightMax;if(b.constrainVertical!==
-void 0)this.constrainVertical=b.constrainVertical;if(b.verticalMin!==void 0)this.verticalMin=b.verticalMin;if(b.verticalMax!==void 0)this.verticalMax=b.verticalMax;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=!1;this.windowHalfX=window.innerWidth/2;this.windowHalfY=window.innerHeight/2;this.onMouseDown=function(b){b.preventDefault();
-b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0};this.onMouseUp=function(b){b.preventDefault();b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1};this.onMouseMove=function(b){this.mouseX=b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.onKeyDown=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=
-!0;break;case 37:case 65:this.moveLeft=!0;break;case 40:case 83:this.moveBackward=!0;break;case 39:case 68:this.moveRight=!0;break;case 82:this.moveUp=!0;break;case 70:this.moveDown=!0;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=!1;break;case 37:case 65:this.moveLeft=!1;break;case 40:case 83:this.moveBackward=!1;break;case 39:case 68:this.moveRight=!1;break;case 82:this.moveUp=!1;break;case 70:this.moveDown=!1}};this.update=
-function(){var b=(new Date).getTime();this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;if(!this.freeze){this.autoSpeedFactor=this.heightSpeed?this.tdiff*((this.position.y<this.heightMin?this.heightMin:this.position.y>this.heightMax?this.heightMax:this.position.y)-this.heightMin)*this.heightCoef:0;var c=this.tdiff*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.translateZ(-(c+this.autoSpeedFactor));this.moveBackward&&this.translateZ(c);this.moveLeft&&this.translateX(-c);
-this.moveRight&&this.translateX(c);this.moveUp&&this.translateY(c);this.moveDown&&this.translateY(-c);c=this.tdiff*this.lookSpeed;this.activeLook||(c=0);this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b=this.target.position,h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*Math.sin(this.theta)}b=
-1;this.constrainVertical&&(b=3.14/(this.verticalMax-this.verticalMin));this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c*b);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=(this.phi-0)*(this.verticalMax-this.verticalMin)/3.14+this.verticalMin;b=this.target.position;h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*
-Math.sin(this.theta);this.supr.update.call(this)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),!1);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),!1);this.domElement.addEventListener("mouseup",c(this,this.onMouseUp),!1);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),!1);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),!1)};
-THREE.FirstPersonCamera.prototype=new THREE.Camera;THREE.FirstPersonCamera.prototype.constructor=THREE.FirstPersonCamera;THREE.FirstPersonCamera.prototype.supr=THREE.Camera.prototype;THREE.FirstPersonCamera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);if(this.noFly)c.y=0;this.position.addSelf(c.multiplyScalar(b));this.target.position.addSelf(c.multiplyScalar(b))};
-THREE.PathCamera=function(b){function c(b,e,c,f){var k={name:c,fps:0.6,length:f,hierarchy:[]},h,m=e.getControlPointsArray(),n=e.getLength(),u=m.length,G=0;h=u-1;e={parent:-1,keys:[]};e.keys[0]={time:0,pos:m[0],rot:[0,0,0,1],scl:[1,1,1]};e.keys[h]={time:f,pos:m[h],rot:[0,0,0,1],scl:[1,1,1]};for(h=1;h<u-1;h++)G=f*n.chunks[h]/n.total,e.keys[h]={time:G,pos:m[h]};k.hierarchy[0]=e;THREE.AnimationHandler.add(k);return new THREE.Animation(b,c,THREE.AnimationHandler.CATMULLROM_FORWARD,!1)}function e(b,e){var c,
-f,k=new THREE.Geometry;for(c=0;c<b.points.length*e;c++)f=c/(b.points.length*e),f=b.getPoint(f),k.vertices[c]=new THREE.Vertex(new THREE.Vector3(f.x,f.y,f.z));return k}function f(b,c){var f=e(c,10),k=e(c,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3});lineObj=new THREE.Line(f,h);particleObj=new THREE.ParticleSystem(k,new THREE.ParticleBasicMaterial({color:16755200,size:3}));lineObj.scale.set(1,1,1);b.addChild(lineObj);particleObj.scale.set(1,1,1);b.addChild(particleObj);k=new THREE.SphereGeometry(1,
-16,8);h=new THREE.MeshBasicMaterial({color:65280});for(i=0;i<c.points.length;i++)f=new THREE.Mesh(k,h),f.position.copy(c.points[i]),f.updateMatrix(),b.addChild(f)}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.id="PathCamera"+THREE.PathCameraIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=!0;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=
-this.lookVertical=!0;this.verticalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.horizontalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.domElement=document;if(b){if(b.duration!==void 0)this.duration=b.duration*1E3;if(b.waypoints!==void 0)this.waypoints=b.waypoints;if(b.useConstantSpeed!==void 0)this.useConstantSpeed=b.useConstantSpeed;if(b.resamplingCoef!==void 0)this.resamplingCoef=b.resamplingCoef;if(b.createDebugPath!==void 0)this.createDebugPath=b.createDebugPath;if(b.createDebugDummy!==
-void 0)this.createDebugDummy=b.createDebugDummy;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.lookHorizontal!==void 0)this.lookHorizontal=b.lookHorizontal;if(b.verticalAngleMap!==void 0)this.verticalAngleMap=b.verticalAngleMap;if(b.horizontalAngleMap!==void 0)this.horizontalAngleMap=b.horizontalAngleMap;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;this.windowHalfX=
-window.innerWidth/2;this.windowHalfY=window.innerHeight/2;var h=Math.PI*2,m=Math.PI/180;this.update=function(b,e,c){var f,k;this.lookHorizontal&&(this.lon+=this.mouseX*this.lookSpeed);this.lookVertical&&(this.lat-=this.mouseY*this.lookSpeed);this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*m;this.theta=this.lon*m;f=this.phi%h;this.phi=f>=0?f:f+h;f=this.verticalAngleMap.srcRange;k=this.verticalAngleMap.dstRange;var n=k[1]-k[0];this.phi=
-TWEEN.Easing.Quadratic.EaseInOut(((this.phi-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.horizontalAngleMap.srcRange;k=this.horizontalAngleMap.dstRange;n=k[1]-k[0];this.theta=TWEEN.Easing.Quadratic.EaseInOut(((this.theta-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.target.position;f.x=100*Math.sin(this.phi)*Math.cos(this.theta);f.y=100*Math.cos(this.phi);f.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.supr.update.call(this,b,e,c)};this.onMouseMove=function(b){this.mouseX=
-b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var b=new THREE.MeshLambertMaterial({color:30719}),k=new THREE.MeshLambertMaterial({color:65280}),n=new THREE.CubeGeometry(10,10,20),u=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(n,b);b=new THREE.Mesh(u,k);b.position.set(0,10,0);this.animation=
-c(this.animationParent,this.spline,this.id,this.duration);this.animationParent.addChild(this);this.animationParent.addChild(this.target);this.animationParent.addChild(b)}else this.animation=c(this.animationParent,this.spline,this.id,this.duration),this.animationParent.addChild(this.target),this.animationParent.addChild(this);this.createDebugPath&&f(this.debugPath,this.spline);this.domElement.addEventListener("mousemove",function(b,e){return function(){e.apply(b,arguments)}}(this,this.onMouseMove),
-!1)};THREE.PathCamera.prototype=new THREE.Camera;THREE.PathCamera.prototype.constructor=THREE.PathCamera;THREE.PathCamera.prototype.supr=THREE.Camera.prototype;THREE.PathCameraIdCounter=0;
-THREE.FlyCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.tmpQuaternion=new THREE.Quaternion;this.movementSpeed=1;this.rollSpeed=0.005;this.autoForward=this.dragToLook=!1;this.domElement=document;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=b.movementSpeed;if(b.rollSpeed!==void 0)this.rollSpeed=b.rollSpeed;if(b.dragToLook!==void 0)this.dragToLook=b.dragToLook;if(b.autoForward!==void 0)this.autoForward=
-b.autoForward;if(b.domElement!==void 0)this.domElement=b.domElement}this.useTarget=!1;this.useQuaternion=!0;this.mouseStatus=0;this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0};this.moveVector=new THREE.Vector3(0,0,0);this.rotationVector=new THREE.Vector3(0,0,0);this.lastUpdate=-1;this.tdiff=0;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.keydown=function(b){if(!b.altKey){switch(b.keyCode){case 16:this.movementSpeedMultiplier=
-0.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector();this.updateRotationVector()}};
-this.keyup=function(b){switch(b.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;
-case 69:this.moveState.rollRight=0}this.updateMovementVector();this.updateRotationVector()};this.mousedown=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus++;else switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}};this.mousemove=function(b){if(!this.dragToLook||this.mouseStatus>0){var c=this.getContainerDimensions(),h=c.size[0]/2,m=c.size[1]/2;this.moveState.yawLeft=-(b.clientX-c.offset[0]-h)/h;this.moveState.pitchDown=(b.clientY-
-c.offset[1]-m)/m;this.updateRotationVector()}};this.mouseup=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.updateRotationVector()};this.update=function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;var b=this.tdiff*this.movementSpeed,c=this.tdiff*
-this.rollSpeed;this.translateX(this.moveVector.x*b);this.translateY(this.moveVector.y*b);this.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*c,this.rotationVector.y*c,this.rotationVector.z*c,1).normalize();this.quaternion.multiplySelf(this.tmpQuaternion);this.matrix.setPosition(this.position);this.matrix.setRotationFromQuaternion(this.quaternion);this.matrixWorldNeedsUpdate=!0;this.supr.update.call(this)};this.updateMovementVector=function(){var b=this.moveState.forward||
-this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-b+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=
-document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",c(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",c(this,this.mouseup),!1);window.addEventListener("keydown",c(this,this.keydown),!1);window.addEventListener("keyup",c(this,
-this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
-THREE.RollCamera=function(b,c,e,f){THREE.Camera.call(this,b,c,e,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.matrixAutoUpdate=this.useTarget=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=-1;this.delta=0;var h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Matrix4,u=!1,p=1,v=0,t=0,x=0,w=0,z=0,y=window.innerWidth/2,B=window.innerHeight/2;this.update=
-function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.delta=(b-this.lastUpdate)/1E3;this.lastUpdate=b;this.mouseLook&&(b=this.delta*this.lookSpeed,this.rotateHorizontally(b*w),this.rotateVertically(b*z));b=this.delta*this.movementSpeed;this.translateZ(b*(v>0||this.autoForward&&!(v<0)?1:v));this.translateX(b*t);this.translateY(b*x);u&&(this.roll+=this.rollSpeed*this.delta*p);if(this.forward.y>this.constrainVertical[1])this.forward.y=this.constrainVertical[1],this.forward.normalize();
-else if(this.forward.y<this.constrainVertical[0])this.forward.y=this.constrainVertical[0],this.forward.normalize();k.copy(this.forward);m.set(0,1,0);h.cross(m,k).normalize();m.cross(k,h).normalize();this.matrix.n11=h.x;this.matrix.n12=m.x;this.matrix.n13=k.x;this.matrix.n21=h.y;this.matrix.n22=m.y;this.matrix.n23=k.y;this.matrix.n31=h.z;this.matrix.n32=m.z;this.matrix.n33=k.z;n.identity();n.n11=Math.cos(this.roll);n.n12=-Math.sin(this.roll);n.n21=Math.sin(this.roll);n.n22=Math.cos(this.roll);this.matrix.multiplySelf(n);
-this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(b){this.position.x+=this.matrix.n11*b;this.position.y+=this.matrix.n21*b;this.position.z+=this.matrix.n31*b};this.translateY=function(b){this.position.x+=this.matrix.n12*b;this.position.y+=this.matrix.n22*b;this.position.z+=this.matrix.n32*b};this.translateZ=function(b){this.position.x-=this.matrix.n13*b;this.position.y-=
-this.matrix.n23*b;this.position.z-=this.matrix.n33*b};this.rotateHorizontally=function(b){h.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);h.multiplyScalar(b);this.forward.subSelf(h);this.forward.normalize()};this.rotateVertically=function(b){m.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);m.multiplyScalar(b);this.forward.addSelf(m);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
-function(b){w=(b.clientX-y)/window.innerWidth;z=(b.clientY-B)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=1;break;case 2:v=-1}},!1);this.domElement.addEventListener("mouseup",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=0;break;case 2:v=0}},!1);this.domElement.addEventListener("keydown",function(b){switch(b.keyCode){case 38:case 87:v=1;break;case 37:case 65:t=-1;break;
-case 40:case 83:v=-1;break;case 39:case 68:t=1;break;case 81:u=!0;p=1;break;case 69:u=!0;p=-1;break;case 82:x=1;break;case 70:x=-1}},!1);this.domElement.addEventListener("keyup",function(b){switch(b.keyCode){case 38:case 87:v=0;break;case 37:case 65:t=0;break;case 40:case 83:v=0;break;case 39:case 68:t=0;break;case 81:u=!1;break;case 69:u=!1;break;case 82:x=0;break;case 70:x=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
-THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
-THREE.TrackballCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}b=b||{};THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.domElement=b.domElement||document;this.screen=b.screen||{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0};this.radius=b.radius||(this.screen.width+this.screen.height)/4;this.rotateSpeed=b.rotateSpeed||1;this.zoomSpeed=b.zoomSpeed||1.2;this.panSpeed=b.panSpeed||0.3;this.noZoom=b.noZoom||!1;this.noPan=b.noPan||
-!1;this.staticMoving=b.staticMoving||!1;this.dynamicDampingFactor=b.dynamicDampingFactor||0.2;this.minDistance=b.minDistance||0;this.maxDistance=b.maxDistance||Infinity;this.keys=b.keys||[65,83,68];this.useTarget=!0;var e=!1,f=this.STATE.NONE,h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Vector2,u=new THREE.Vector2,p=new THREE.Vector2,v=new THREE.Vector2;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.getMouseOnScreen=function(b,c){return new THREE.Vector2((b-
-this.screen.offsetLeft)/this.radius*0.5,(c-this.screen.offsetTop)/this.radius*0.5)};this.getMouseProjectionOnBall=function(b,c){var e=new THREE.Vector3((b-this.screen.width*0.5-this.screen.offsetLeft)/this.radius,(this.screen.height*0.5+this.screen.offsetTop-c)/this.radius,0),f=e.length();f>1?e.normalize():e.z=Math.sqrt(1-f*f);h=this.position.clone().subSelf(this.target.position);f=this.up.clone().setLength(e.y);f.addSelf(this.up.clone().crossSelf(h).setLength(e.x));f.addSelf(h.setLength(e.z));return f};
-this.rotateCamera=function(){var b=Math.acos(m.dot(k)/m.length()/k.length());if(b){var c=(new THREE.Vector3).cross(m,k).normalize(),e=new THREE.Quaternion;b*=this.rotateSpeed;e.setFromAxisAngle(c,-b);e.multiplyVector3(h);e.multiplyVector3(this.up);e.multiplyVector3(k);this.staticMoving?m=k:(e.setFromAxisAngle(c,b*(this.dynamicDampingFactor-1)),e.multiplyVector3(m))}};this.zoomCamera=function(){var b=1+(u.y-n.y)*this.zoomSpeed;b!==1&&b>0&&(h.multiplyScalar(b),this.staticMoving?n=u:n.y+=(u.y-n.y)*this.dynamicDampingFactor)};
-this.panCamera=function(){var b=v.clone().subSelf(p);if(b.lengthSq()){b.multiplyScalar(h.length()*this.panSpeed);var c=h.clone().crossSelf(this.up).setLength(b.x);c.addSelf(this.up.clone().setLength(b.y));this.position.addSelf(c);this.target.position.addSelf(c);this.staticMoving?p=v:p.addSelf(b.sub(v,p).multiplyScalar(this.dynamicDampingFactor))}};this.checkDistances=function(){if(!this.noZoom||!this.noPan)this.position.lengthSq()>this.maxDistance*this.maxDistance&&this.position.setLength(this.maxDistance),
-h.lengthSq()<this.minDistance*this.minDistance&&this.position.add(this.target.position,h.setLength(this.minDistance))};this.update=function(b,c,e){h=this.position.clone().subSelf(this.target.position);this.rotateCamera();this.noZoom||this.zoomCamera();this.noPan||this.panCamera();this.position.add(this.target.position,h);this.checkDistances();this.supr.update.call(this,b,c,e)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
-c(this,function(b){e&&(m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY),n=u=this.getMouseOnScreen(b.clientX,b.clientY),p=v=this.getMouseOnScreen(b.clientX,b.clientY),e=!1);f!==this.STATE.NONE&&(f===this.STATE.ROTATE?k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?u=this.getMouseOnScreen(b.clientX,b.clientY):f===this.STATE.PAN&&!this.noPan&&(v=this.getMouseOnScreen(b.clientX,b.clientY)))}),!1);this.domElement.addEventListener("mousedown",c(this,function(b){b.preventDefault();
-b.stopPropagation();if(f===this.STATE.NONE)f=b.button,f===this.STATE.ROTATE?m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?n=u=this.getMouseOnScreen(b.clientX,b.clientY):this.noPan||(p=v=this.getMouseOnScreen(b.clientX,b.clientY))}),!1);this.domElement.addEventListener("mouseup",c(this,function(b){b.preventDefault();b.stopPropagation();f=this.STATE.NONE}),!1);window.addEventListener("keydown",c(this,function(b){if(f===this.STATE.NONE){if(b.keyCode===this.keys[this.STATE.ROTATE])f=
-this.STATE.ROTATE;else if(b.keyCode===this.keys[this.STATE.ZOOM]&&!this.noZoom)f=this.STATE.ZOOM;else if(b.keyCode===this.keys[this.STATE.PAN]&&!this.noPan)f=this.STATE.PAN;f!==this.STATE.NONE&&(e=!0)}}),!1);window.addEventListener("keyup",c(this,function(){if(f!==this.STATE.NONE)f=this.STATE.NONE}),!1)};THREE.TrackballCamera.prototype=new THREE.Camera;THREE.TrackballCamera.prototype.constructor=THREE.TrackballCamera;THREE.TrackballCamera.prototype.supr=THREE.Camera.prototype;
-THREE.TrackballCamera.prototype.STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2};THREE.QuakeCamera=THREE.FirstPersonCamera;
-THREE.CubeGeometry=function(b,c,e,f,h,m,k,n,u){function p(b,c,e,k,n,p,t,u){var w,x,y=f||1,z=h||1,O=n/2,S=p/2,P=v.vertices.length;if(b=="x"&&c=="y"||b=="y"&&c=="x")w="z";else if(b=="x"&&c=="z"||b=="z"&&c=="x")w="y",z=m||1;else if(b=="z"&&c=="y"||b=="y"&&c=="z")w="x",y=m||1;var o=y+1,W=z+1;n/=y;var na=p/z;for(x=0;x<W;x++)for(p=0;p<o;p++){var R=new THREE.Vector3;R[b]=(p*n-O)*e;R[c]=(x*na-S)*k;R[w]=t;v.vertices.push(new THREE.Vertex(R))}for(x=0;x<z;x++)for(p=0;p<y;p++)v.faces.push(new THREE.Face4(p+o*
-x+P,p+o*(x+1)+P,p+1+o*(x+1)+P,p+1+o*x+P,null,null,u)),v.faceVertexUvs[0].push([new THREE.UV(p/y,x/z),new THREE.UV(p/y,(x+1)/z),new THREE.UV((p+1)/y,(x+1)/z),new THREE.UV((p+1)/y,x/z)])}THREE.Geometry.call(this);var v=this,t=b/2,x=c/2,w=e/2,n=n?-1:1;if(k!==void 0)if(k instanceof Array)this.materials=k;else{this.materials=[];for(var z=0;z<6;z++)this.materials.push([k])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(u!=void 0)for(var y in u)this.sides[y]!=void 0&&(this.sides[y]=
-u[y]);this.sides.px&&p("z","y",1*n,-1,e,c,-t,this.materials[0]);this.sides.nx&&p("z","y",-1*n,-1,e,c,t,this.materials[1]);this.sides.py&&p("x","z",1*n,1,b,e,x,this.materials[2]);this.sides.ny&&p("x","z",1*n,-1,b,e,-x,this.materials[3]);this.sides.pz&&p("x","y",1*n,-1,b,c,w,this.materials[4]);this.sides.nz&&p("x","y",-1*n,-1,b,c,-w,this.materials[5]);(function(){for(var b=[],c=[],e=0,f=v.vertices.length;e<f;e++){for(var k=v.vertices[e],h=!1,m=0,n=b.length;m<n;m++){var p=b[m];if(k.position.x==p.position.x&&
-k.position.y==p.position.y&&k.position.z==p.position.z){c[e]=m;h=!0;break}}if(!h)c[e]=b.length,b.push(new THREE.Vertex(k.position.clone()))}e=0;for(f=v.faces.length;e<f;e++)k=v.faces[e],k.a=c[k.a],k.b=c[k.b],k.c=c[k.c],k.d=c[k.d];v.vertices=b})();this.computeCentroids();this.computeFaceNormals()};THREE.CubeGeometry.prototype=new THREE.Geometry;THREE.CubeGeometry.prototype.constructor=THREE.CubeGeometry;
-THREE.CylinderGeometry=function(b,c,e,f,h,m){function k(b,c,e){n.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}THREE.Geometry.call(this);var n=this,u,p=Math.PI*2,v=f/2;for(u=0;u<b;u++)k(Math.sin(p*u/b)*c,Math.cos(p*u/b)*c,-v);for(u=0;u<b;u++)k(Math.sin(p*u/b)*e,Math.cos(p*u/b)*e,v);var t,x,w,z,y=c-e;for(u=0;u<b;u++)t=new THREE.Vector3,t.copy(n.vertices[u].position),t.z=y,t.normalize(),x=new THREE.Vector3,x.copy(n.vertices[u+b].position),x.z=y,x.normalize(),w=new THREE.Vector3,w.copy(n.vertices[b+
-(u+1)%b].position),w.z=y,w.normalize(),z=new THREE.Vector3,z.copy(n.vertices[(u+1)%b].position),z.z=y,z.normalize(),n.faces.push(new THREE.Face4(u,u+b,b+(u+1)%b,(u+1)%b,[t,x,w,z]));if(e>0){e=new THREE.Vector3(0,0,-1);k(0,0,-v-(m||0));for(u=b;u<b+b/2;u++)n.faces.push(new THREE.Face4(2*b,(2*u-2*b)%b,(2*u-2*b+1)%b,(2*u-2*b+2)%b,[e,e,e,e]))}if(c>0){c=new THREE.Vector3(0,0,1);k(0,0,v+(h||0));for(u=b+b/2;u<2*b;u++)n.faces.push(new THREE.Face4(2*b+1,(2*u-2*b+2)%b+b,(2*u-2*b+1)%b+b,(2*u-2*b)%b+b,[c,c,c,c]))}u=
-0;for(b=this.faces.length;u<b;u++)h=[],v=this.faces[u],c=this.vertices[v.a],m=this.vertices[v.b],e=this.vertices[v.c],t=this.vertices[v.d],h.push(new THREE.UV(0.5+Math.atan2(c.position.x,c.position.y)/p,0.5+c.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(m.position.x,m.position.y)/p,0.5+m.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(e.position.x,e.position.y)/p,0.5+e.position.z/f)),v instanceof THREE.Face4&&h.push(new THREE.UV(0.5+Math.atan2(t.position.x,t.position.y)/p,0.5+t.position.z/
-f)),this.faceVertexUvs[0].push(h);this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=new THREE.Geometry;THREE.CylinderGeometry.prototype.constructor=THREE.CylinderGeometry;THREE.ExtrudeGeometry=function(b,c){if(typeof b!="undefined"){THREE.Geometry.call(this);var b=b instanceof Array?b:[b],e,f=b.length,h;this.shapebb=b[f-1].getBoundingBox();for(e=0;e<f;e++)h=b[e],this.addShape(h,c);this.computeCentroids();this.computeFaceNormals()}};
-THREE.ExtrudeGeometry.prototype=new THREE.Geometry;THREE.ExtrudeGeometry.prototype.constructor=THREE.ExtrudeGeometry;
-THREE.ExtrudeGeometry.prototype.addShape=function(b,c){function e(b,c,e){c||console.log("die");return c.clone().multiplyScalar(e).addSelf(b)}function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeometry.__v2,h=THREE.ExtrudeGeometry.__v3,m=THREE.ExtrudeGeometry.__v4,n=THREE.ExtrudeGeometry.__v5,o=THREE.ExtrudeGeometry.__v6;f.set(b.x-c.x,b.y-c.y);k.set(b.x-e.x,b.y-e.y);f=f.normalize();k=k.normalize();h.set(-f.y,f.x);m.set(k.y,-k.x);n.copy(b).addSelf(h);o.copy(b).addSelf(m);if(n.equals(o))return m.clone();
-n.copy(c).addSelf(h);o.copy(e).addSelf(m);h=f.dot(m);m=o.subSelf(n).dot(m);h==0&&(console.log("Either infinite or no solutions!"),m==0?console.log("Its finite solutions."):console.log("Too bad, no solutions."));m/=h;if(m<0)return c=Math.atan2(c.y-b.y,c.x-b.x),b=Math.atan2(e.y-b.y,e.x-b.x),c>b&&(b+=Math.PI*2),anglec=(c+b)/2,new THREE.Vector2(-Math.cos(anglec),-Math.sin(anglec));return f.multiplyScalar(m).addSelf(n).subSelf(b).clone()}function h(b){for(L=b.length;--L>=0;){ga=L;da=L-1;da<0&&(da=b.length-
-1);for(var c=0,e=w+v*2,c=0;c<e;c++){var f=na*c,k=na*(c+1),h=$+ga+f,m=$+ga+k,o=h,f=$+da+f,k=$+da+k,p=m;o+=U;f+=U;k+=U;p+=U;K.faces.push(new THREE.Face4(o,f,k,p,null,null,E));E&&(o=c/e,f=(c+1)/e,k=n+u*2,h=(K.vertices[h].position.z+u)/k,m=(K.vertices[m].position.z+u)/k,K.faceVertexUvs[0].push([new THREE.UV(h,o),new THREE.UV(m,o),new THREE.UV(m,f),new THREE.UV(h,f)]))}}}function m(b,c,e){K.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}function k(b,c,e){b+=U;c+=U;e+=U;K.faces.push(new THREE.Face3(b,
-c,e,null,null,H));if(H){var f=N.maxY,k=N.maxX,h=K.vertices[c].position.x,c=K.vertices[c].position.y,m=K.vertices[e].position.x,e=K.vertices[e].position.y;K.faceVertexUvs[0].push([new THREE.UV(K.vertices[b].position.x/k,K.vertices[b].position.y/f),new THREE.UV(h/k,c/f),new THREE.UV(m/k,e/f)])}}var n=c.amount!==void 0?c.amount:100,u=c.bevelThickness!==void 0?c.bevelThickness:6,p=c.bevelSize!==void 0?c.bevelSize:u-2,v=c.bevelSegments!==void 0?c.bevelSegments:3,t=c.bevelEnabled!==void 0?c.bevelEnabled:
-!0,x=c.curveSegments!==void 0?c.curveSegments:12,w=c.steps!==void 0?c.steps:1,z=c.bendPath,y=c.extrudePath,B,D=!1,G=c.useSpacedPoints!==void 0?c.useSpacedPoints:!1,H=c.material,E=c.extrudeMaterial,N=this.shapebb;if(y)B=y.getPoints(x),w=B.length,D=!0,t=!1;t||(p=u=v=0);var F,I,C,K=this,U=this.vertices.length;z&&b.addWrapPath(z);x=G?b.extractAllSpacedPoints(x):b.extractAllPoints(x);z=x.shape;x=x.holes;if(y=!THREE.Shape.Utils.isClockWise(z)){z=z.reverse();I=0;for(C=x.length;I<C;I++)F=x[I],THREE.Shape.Utils.isClockWise(F)&&
-(x[I]=F.reverse());y=!1}y=THREE.Shape.Utils.triangulateShape(z,x);G=z;I=0;for(C=x.length;I<C;I++)F=x[I],z=z.concat(F);var L,O,S,P,o,W,na=z.length,R=y.length,ia=[];L=0;O=G.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ia[L]=f(G[L],G[ga],G[da]);var aa=[],ma,fa=ia.concat();I=0;for(C=x.length;I<C;I++){F=x[I];ma=[];L=0;O=F.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ma[L]=f(F[L],F[ga],F[da]);aa.push(ma);fa=fa.concat(ma)}for(S=0;S<v;S++){P=S/v;o=u*(1-
-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,-o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),m(W.x,W.y,-o)}}P=p;for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[0].y,B[0].x):m(W.x,W.y,0);for(S=1;S<=w;S++)for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[S-1].y,B[S-1].x):m(W.x,W.y,n/w*S);for(S=v-1;S>=0;S--){P=S/v;o=u*(1-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,
-n+o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),D?m(W.x,W.y+B[w-1].y,B[w-1].x+o):m(W.x,W.y,n+o)}}if(t){t=na*0;for(L=0;L<R;L++)p=y[L],k(p[2]+t,p[1]+t,p[0]+t);t=na*(w+v*2);for(L=0;L<R;L++)p=y[L],k(p[0]+t,p[1]+t,p[2]+t)}else{for(L=0;L<R;L++)p=y[L],k(p[2],p[1],p[0]);for(L=0;L<R;L++)p=y[L],k(p[0]+na*w,p[1]+na*w,p[2]+na*w)}var ga,da,$=0;h(G);$+=G.length;I=0;for(C=x.length;I<C;I++)F=x[I],h(F),$+=F.length};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;
-THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;
-THREE.IcosahedronGeometry=function(b){function c(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(new THREE.Vertex(new THREE.Vector3(b/f,c/f,e/f)))-1}function e(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}function f(b,e){var f=h.vertices[b].position,k=h.vertices[e].position;return c((f.x+k.x)/2,(f.y+k.y)/2,(f.z+k.z)/2)}var h=this,m=new THREE.Geometry;this.subdivisions=b||0;THREE.Geometry.call(this);b=(1+Math.sqrt(5))/2;c(-1,b,0);c(1,b,0);c(-1,-b,0);c(1,-b,0);c(0,-1,b);c(0,1,b);c(0,-1,
--b);c(0,1,-b);c(b,0,-1);c(b,0,1);c(-b,0,-1);c(-b,0,1);e(0,11,5,m);e(0,5,1,m);e(0,1,7,m);e(0,7,10,m);e(0,10,11,m);e(1,5,9,m);e(5,11,4,m);e(11,10,2,m);e(10,7,6,m);e(7,1,8,m);e(3,9,4,m);e(3,4,2,m);e(3,2,6,m);e(3,6,8,m);e(3,8,9,m);e(4,9,5,m);e(2,4,11,m);e(6,2,10,m);e(8,6,7,m);e(9,8,1,m);for(var k=0;k<this.subdivisions;k++){var b=new THREE.Geometry,n;for(n in m.faces){var u=f(m.faces[n].a,m.faces[n].b),p=f(m.faces[n].b,m.faces[n].c),v=f(m.faces[n].c,m.faces[n].a);e(m.faces[n].a,u,v,b);e(m.faces[n].b,p,
-u,b);e(m.faces[n].c,v,p,b);e(u,p,v,b)}m.faces=b.faces}h.faces=m.faces;this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.IcosahedronGeometry.prototype=new THREE.Geometry;THREE.IcosahedronGeometry.prototype.constructor=THREE.IcosahedronGeometry;
-THREE.LatheGeometry=function(b,c,e){THREE.Geometry.call(this);this.steps=c||12;this.angle=e||2*Math.PI;for(var c=this.angle/this.steps,e=[],f=[],h=[],m=[],k=(new THREE.Matrix4).setRotationZ(c),n=0;n<b.length;n++)this.vertices.push(new THREE.Vertex(b[n])),e[n]=b[n].clone(),f[n]=this.vertices.length-1;for(var u=0;u<=this.angle+0.001;u+=c){for(n=0;n<e.length;n++)u<this.angle?(e[n]=k.multiplyVector3(e[n].clone()),this.vertices.push(new THREE.Vertex(e[n])),h[n]=this.vertices.length-1):h=m;u==0&&(m=f);
-for(n=0;n<f.length-1;n++)this.faces.push(new THREE.Face4(h[n],h[n+1],f[n+1],f[n])),this.faceVertexUvs[0].push([new THREE.UV(1-u/this.angle,n/b.length),new THREE.UV(1-u/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,n/b.length)]);f=h;h=[]}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=new THREE.Geometry;THREE.LatheGeometry.prototype.constructor=THREE.LatheGeometry;
-THREE.PlaneGeometry=function(b,c,e,f){THREE.Geometry.call(this);var h,m=b/2,k=c/2,e=e||1,f=f||1,n=e+1,u=f+1;b/=e;var p=c/f;for(h=0;h<u;h++)for(c=0;c<n;c++)this.vertices.push(new THREE.Vertex(new THREE.Vector3(c*b-m,-(h*p-k),0)));for(h=0;h<f;h++)for(c=0;c<e;c++)this.faces.push(new THREE.Face4(c+n*h,c+n*(h+1),c+1+n*(h+1),c+1+n*h)),this.faceVertexUvs[0].push([new THREE.UV(c/e,h/f),new THREE.UV(c/e,(h+1)/f),new THREE.UV((c+1)/e,(h+1)/f),new THREE.UV((c+1)/e,h/f)]);this.computeCentroids();this.computeFaceNormals()};
-THREE.PlaneGeometry.prototype=new THREE.Geometry;THREE.PlaneGeometry.prototype.constructor=THREE.PlaneGeometry;
-THREE.SphereGeometry=function(b,c,e){THREE.Geometry.call(this);for(var b=b||50,f,h=Math.PI,m=Math.max(3,c||8),k=Math.max(2,e||6),c=[],e=0;e<k+1;e++){f=e/k;var n=b*Math.cos(f*h),u=b*Math.sin(f*h),p=[],v=0;for(f=0;f<m;f++){var t=2*f/m,x=u*Math.sin(t*h),t=u*Math.cos(t*h);(e==0||e==k)&&f>0||(v=this.vertices.push(new THREE.Vertex(new THREE.Vector3(t,n,x)))-1);p.push(v)}c.push(p)}for(var w,z,y,h=c.length,e=0;e<h;e++)if(m=c[e].length,e>0)for(f=0;f<m;f++){p=f==m-1;k=c[e][p?0:f+1];n=c[e][p?m-1:f];u=c[e-1][p?
-m-1:f];p=c[e-1][p?0:f+1];x=e/(h-1);w=(e-1)/(h-1);z=(f+1)/m;var t=f/m,v=new THREE.UV(1-z,x),x=new THREE.UV(1-t,x),t=new THREE.UV(1-t,w),B=new THREE.UV(1-z,w);e<c.length-1&&(w=this.vertices[k].position.clone(),z=this.vertices[n].position.clone(),y=this.vertices[u].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,n,u,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,x,t]));e>1&&(w=
-this.vertices[k].position.clone(),z=this.vertices[u].position.clone(),y=this.vertices[p].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,u,p,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,t,B]))}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals();this.boundingSphere={radius:b}};THREE.SphereGeometry.prototype=new THREE.Geometry;
-THREE.SphereGeometry.prototype.constructor=THREE.SphereGeometry;
-THREE.TextGeometry=function(b,c){var e=(new THREE.TextPath(b,c)).toShapes();c.amount=c.height!==void 0?c.height:50;if(c.bevelThickness===void 0)c.bevelThickness=10;if(c.bevelSize===void 0)c.bevelSize=8;if(c.bevelEnabled===void 0)c.bevelEnabled=!1;if(c.bend){var f=e[e.length-1].getBoundingBox().maxX;c.bendPath=new THREE.QuadraticBezierCurve(new THREE.Vector2(0,0),new THREE.Vector2(f/2,120),new THREE.Vector2(f,0))}THREE.ExtrudeGeometry.call(this,e,c)};THREE.TextGeometry.prototype=new THREE.ExtrudeGeometry;
-THREE.TextGeometry.prototype.constructor=THREE.TextGeometry;
-THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},getTextShapes:function(b,c){return(new TextPath(b,c)).toShapes()},loadFace:function(b){var c=b.familyName.toLowerCase();this.faces[c]=this.faces[c]||{};this.faces[c][b.cssFontWeight]=this.faces[c][b.cssFontWeight]||{};this.faces[c][b.cssFontWeight][b.cssFontStyle]=b;return this.faces[c][b.cssFontWeight][b.cssFontStyle]=b},drawText:function(b){for(var c=
-this.getFace(),e=this.size/c.resolution,f=0,h=String(b).split(""),m=h.length,k=[],b=0;b<m;b++){var n=new THREE.Path,n=this.extractGlyphPoints(h[b],c,e,f,n);f+=n.offset;k.push(n.path)}return{paths:k,offset:f/2}},extractGlyphPoints:function(b,c,e,f,h){var m=[],k,n,u,p,v,t,x,w,z,y,B=c.glyphs[b]||c.glyphs[ctxt.options.fallbackCharacter];if(B){if(B.o){c=B._cachedOutline||(B._cachedOutline=B.o.split(" "));u=c.length;for(b=0;b<u;)switch(n=c[b++],n){case "m":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,
-p));h.moveTo(n,p);break;case "l":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,p));h.lineTo(n,p);break;case "q":n=c[b++]*e+f;p=c[b++]*e;x=c[b++]*e+f;w=c[b++]*e;h.quadraticCurveTo(x,w,n,p);if(k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++){var D=k/divisions,G=THREE.Shape.Utils.b2(D,v,x,n),D=THREE.Shape.Utils.b2(D,t,w,p);m.push(new THREE.Vector2(G,D))}}break;case "b":if(n=c[b++]*e+f,p=c[b++]*e,x=c[b++]*e+f,w=c[b++]*-e,z=c[b++]*e+f,y=c[b++]*-e,h.bezierCurveTo(n,p,
-x,w,z,y),k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++)D=k/divisions,G=THREE.Shape.Utils.b3(D,v,x,z,n),D=THREE.Shape.Utils.b3(D,t,w,y,p),m.push(new THREE.Vector2(G,D))}}}return{offset:B.ha*e,points:m,path:h}}}};
-(function(b){var c=function(b){for(var c=b.length,h=0,m=c-1,k=0;k<c;m=k++)h+=b[m].x*b[k].y-b[k].x*b[m].y;return h*0.5};b.Triangulate=function(b,f){var h=b.length;if(h<3)return null;var m=[],k=[],n=[],u,p,v;if(c(b)>0)for(p=0;p<h;p++)k[p]=p;else for(p=0;p<h;p++)k[p]=h-1-p;var t=2*h;for(p=h-1;h>2;){if(t--<=0){console.log("Warning, unable to triangulate polygon!");if(f)return n;return m}u=p;h<=u&&(u=0);p=u+1;h<=p&&(p=0);v=p+1;h<=v&&(v=0);var x;a:{x=b;var w=u,z=p,y=v,B=h,D=k,G=void 0,H=void 0,E=void 0,
-N=void 0,F=void 0,I=void 0,C=void 0,K=void 0,U=void 0,H=x[D[w]].x,E=x[D[w]].y,N=x[D[z]].x,F=x[D[z]].y,I=x[D[y]].x,C=x[D[y]].y;if(1.0E-10>(N-H)*(C-E)-(F-E)*(I-H))x=!1;else{for(G=0;G<B;G++)if(!(G==w||G==z||G==y)){var K=x[D[G]].x,U=x[D[G]].y,L=void 0,O=void 0,S=void 0,P=void 0,o=void 0,W=void 0,na=void 0,R=void 0,ia=void 0,aa=void 0,ma=void 0,fa=void 0,L=S=o=void 0,L=I-N,O=C-F,S=H-I,P=E-C,o=N-H,W=F-E,na=K-H,R=U-E,ia=K-N,aa=U-F,ma=K-I,fa=U-C,L=L*aa-O*ia,o=o*R-W*na,S=S*fa-P*ma;if(L>=0&&S>=0&&o>=0){x=!1;
-break a}}x=!0}}if(x){m.push([b[k[u]],b[k[p]],b[k[v]]]);n.push([k[u],k[p],k[v]]);u=p;for(v=p+1;v<h;u++,v++)k[u]=k[v];h--;t=2*h}}if(f)return n;return m};b.Triangulate.area=c;return b})(THREE.FontUtils);window._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};
-THREE.TorusGeometry=function(b,c,e,f,h){THREE.Geometry.call(this);this.radius=b||100;this.tube=c||40;this.segmentsR=e||8;this.segmentsT=f||6;this.arc=h||Math.PI*2;h=new THREE.Vector3;b=[];c=[];for(e=0;e<=this.segmentsR;e++)for(f=0;f<=this.segmentsT;f++){var m=f/this.segmentsT*this.arc,k=e/this.segmentsR*Math.PI*2;h.x=this.radius*Math.cos(m);h.y=this.radius*Math.sin(m);var n=new THREE.Vector3;n.x=(this.radius+this.tube*Math.cos(k))*Math.cos(m);n.y=(this.radius+this.tube*Math.cos(k))*Math.sin(m);n.z=
-this.tube*Math.sin(k);this.vertices.push(new THREE.Vertex(n));b.push(new THREE.UV(f/this.segmentsT,1-e/this.segmentsR));c.push(n.clone().subSelf(h).normalize())}for(e=1;e<=this.segmentsR;e++)for(f=1;f<=this.segmentsT;f++){var h=(this.segmentsT+1)*e+f-1,m=(this.segmentsT+1)*(e-1)+f-1,k=(this.segmentsT+1)*(e-1)+f,n=(this.segmentsT+1)*e+f,u=new THREE.Face4(h,m,k,n,[c[h],c[m],c[k],c[n]]);u.normal.addSelf(c[h]);u.normal.addSelf(c[m]);u.normal.addSelf(c[k]);u.normal.addSelf(c[n]);u.normal.normalize();this.faces.push(u);
-this.faceVertexUvs[0].push([b[h].clone(),b[m].clone(),b[k].clone(),b[n].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=new THREE.Geometry;THREE.TorusGeometry.prototype.constructor=THREE.TorusGeometry;
-THREE.TorusKnotGeometry=function(b,c,e,f,h,m,k){function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k*(2+e)*0.5*Math.cos(b),k*(2+e)*Math.sin(b)*0.5,h*k*Math.sin(c)*0.5)}THREE.Geometry.call(this);this.radius=b||200;this.tube=c||40;this.segmentsR=e||64;this.segmentsT=f||8;this.p=h||2;this.q=m||3;this.heightScale=k||1;this.grid=Array(this.segmentsR);e=new THREE.Vector3;f=new THREE.Vector3;m=new THREE.Vector3;for(b=0;b<this.segmentsR;++b){this.grid[b]=Array(this.segmentsT);for(c=0;c<
-this.segmentsT;++c){var u=b/this.segmentsR*2*this.p*Math.PI,k=c/this.segmentsT*2*Math.PI,h=n(u,k,this.q,this.p,this.radius,this.heightScale),u=n(u+0.01,k,this.q,this.p,this.radius,this.heightScale);e.x=u.x-h.x;e.y=u.y-h.y;e.z=u.z-h.z;f.x=u.x+h.x;f.y=u.y+h.y;f.z=u.z+h.z;m.cross(e,f);f.cross(m,e);m.normalize();f.normalize();u=-this.tube*Math.cos(k);k=this.tube*Math.sin(k);h.x+=u*f.x+k*m.x;h.y+=u*f.y+k*m.y;h.z+=u*f.z+k*m.z;this.grid[b][c]=this.vertices.push(new THREE.Vertex(new THREE.Vector3(h.x,h.y,
-h.z)))-1}}for(b=0;b<this.segmentsR;++b)for(c=0;c<this.segmentsT;++c){var f=(b+1)%this.segmentsR,m=(c+1)%this.segmentsT,h=this.grid[b][c],e=this.grid[f][c],f=this.grid[f][m],m=this.grid[b][m],k=new THREE.UV(b/this.segmentsR,c/this.segmentsT),u=new THREE.UV((b+1)/this.segmentsR,c/this.segmentsT),p=new THREE.UV((b+1)/this.segmentsR,(c+1)/this.segmentsT),v=new THREE.UV(b/this.segmentsR,(c+1)/this.segmentsT);this.faces.push(new THREE.Face4(h,e,f,m));this.faceVertexUvs[0].push([k,u,p,v])}this.computeCentroids();
-this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=new THREE.Geometry;THREE.TorusKnotGeometry.prototype.constructor=THREE.TorusKnotGeometry;THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
-THREE.Loader.prototype={addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/1E3).toFixed(2)+" KB";
-this.statusDomElement.innerHTML=c},extractUrlbase:function(b){b=b.split("/");b.pop();return b.join("/")},init_materials:function(b,c,e){b.materials=[];for(var f=0;f<c.length;++f)b.materials[f]=[THREE.Loader.prototype.createMaterial(c[f],e)]},hasNormals:function(b){var c,e,f=b.materials.length;for(e=0;e<f;e++)if(c=b.materials[e][0],c instanceof THREE.MeshShaderMaterial)return!0;return!1},createMaterial:function(b,c){function e(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==b}function f(b,c){var f=
-new Image;f.onload=function(){if(!e(this.width)||!e(this.height)){var c=Math.pow(2,Math.round(Math.log(this.width)/Math.LN2)),f=Math.pow(2,Math.round(Math.log(this.height)/Math.LN2));b.image.width=c;b.image.height=f;b.image.getContext("2d").drawImage(this,0,0,c,f)}else b.image=this;b.needsUpdate=!0};f.src=c}function h(b,e,k,h,m,n){var p=document.createElement("canvas");b[e]=new THREE.Texture(p);b[e].sourceFile=k;if(h){b[e].repeat.set(h[0],h[1]);if(h[0]!=1)b[e].wrapS=THREE.RepeatWrapping;if(h[1]!=
-1)b[e].wrapT=THREE.RepeatWrapping}m&&b[e].offset.set(m[0],m[1]);if(n){h={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(h[n[0]]!==void 0)b[e].wrapS=h[n[0]];if(h[n[1]]!==void 0)b[e].wrapT=h[n[1]]}f(b[e],c+"/"+k)}function m(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}var k,n,u;n="MeshLambertMaterial";k={color:15658734,opacity:1,map:null,lightMap:null,normalMap:null,wireframe:b.wireframe};b.shading&&(b.shading=="Phong"?n="MeshPhongMaterial":b.shading=="Basic"&&(n="MeshBasicMaterial"));
-if(b.blending)if(b.blending=="Additive")k.blending=THREE.AdditiveBlending;else if(b.blending=="Subtractive")k.blending=THREE.SubtractiveBlending;else if(b.blending=="Multiply")k.blending=THREE.MultiplyBlending;if(b.transparent!==void 0||b.opacity<1)k.transparent=b.transparent;if(b.depthTest!==void 0)k.depthTest=b.depthTest;if(b.vertexColors!==void 0)if(b.vertexColors=="face")k.vertexColors=THREE.FaceColors;else if(b.vertexColors)k.vertexColors=THREE.VertexColors;if(b.colorDiffuse)k.color=m(b.colorDiffuse);
-else if(b.DbgColor)k.color=b.DbgColor;if(b.colorSpecular)k.specular=m(b.colorSpecular);if(b.colorAmbient)k.ambient=m(b.colorAmbient);if(b.transparency)k.opacity=b.transparency;if(b.specularCoef)k.shininess=b.specularCoef;b.mapDiffuse&&c&&h(k,"map",b.mapDiffuse,b.mapDiffuseRepeat,b.mapDiffuseOffset,b.mapDiffuseWrap);b.mapLight&&c&&h(k,"lightMap",b.mapLight,b.mapLightRepeat,b.mapLightOffset,b.mapLightWrap);b.mapNormal&&c&&h(k,"normalMap",b.mapNormal,b.mapNormalRepeat,b.mapNormalOffset,b.mapNormalWrap);
-b.mapSpecular&&c&&h(k,"specularMap",b.mapSpecular,b.mapSpecularRepeat,b.mapSpecularOffset,b.mapSpecularWrap);if(b.mapNormal){var p=THREE.ShaderUtils.lib.normal,v=THREE.UniformsUtils.clone(p.uniforms),t=k.color;n=k.specular;u=k.ambient;var x=k.shininess;v.tNormal.texture=k.normalMap;if(b.mapNormalFactor)v.uNormalScale.value=b.mapNormalFactor;if(k.map)v.tDiffuse.texture=k.map,v.enableDiffuse.value=!0;if(k.specularMap)v.tSpecular.texture=k.specularMap,v.enableSpecular.value=!0;if(k.lightMap)v.tAO.texture=
-k.lightMap,v.enableAO.value=!0;v.uDiffuseColor.value.setHex(t);v.uSpecularColor.value.setHex(n);v.uAmbientColor.value.setHex(u);v.uShininess.value=x;if(k.opacity)v.uOpacity.value=k.opacity;k=new THREE.MeshShaderMaterial({fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:v,lights:!0,fog:!0})}else k=new THREE[n](k);return k},constructor:THREE.Loader};THREE.BinaryLoader=function(b){THREE.Loader.call(this,b)};THREE.BinaryLoader.prototype=new THREE.Loader;
-THREE.BinaryLoader.prototype.constructor=THREE.BinaryLoader;THREE.BinaryLoader.prototype.supr=THREE.Loader.prototype;
-THREE.BinaryLoader.prototype.load=function(b){var c=b.model,e=b.callback,f=b.texture_path?b.texture_path:THREE.Loader.prototype.extractUrlbase(c),h=b.bin_path?b.bin_path:THREE.Loader.prototype.extractUrlbase(c),b=(new Date).getTime(),c=new Worker(c),m=this.showProgress?THREE.Loader.prototype.updateProgress:null;c.onmessage=function(b){THREE.BinaryLoader.prototype.loadAjaxBuffers(b.data.buffers,b.data.materials,e,h,f,m)};c.onerror=function(b){alert("worker.onerror: "+b.message+"\n"+b.data);b.preventDefault()};
-c.postMessage(b)};
-THREE.BinaryLoader.prototype.loadAjaxBuffers=function(b,c,e,f,h,m){var k=new XMLHttpRequest,n=f+"/"+b,u=0;k.onreadystatechange=function(){k.readyState==4?k.status==200||k.status==0?THREE.BinaryLoader.prototype.createBinModel(k.responseText,e,h,c):alert("Couldn't load ["+n+"] ["+k.status+"]"):k.readyState==3?m&&(u==0&&(u=k.getResponseHeader("Content-Length")),m({total:u,loaded:k.responseText.length})):k.readyState==2&&(u=k.getResponseHeader("Content-Length"))};k.open("GET",n,!0);k.overrideMimeType("text/plain; charset=x-user-defined");
-k.setRequestHeader("Content-Type","text/plain");k.send(null)};
-THREE.BinaryLoader.prototype.createBinModel=function(b,c,e,f){var h=function(c){function e(b,c){var f=v(b,c),k=v(b,c+1),h=v(b,c+2),m=v(b,c+3),n=(m<<1&255|h>>7)-127;f|=(h&127)<<16|k<<8;if(f==0&&n==-127)return 0;return(1-2*(m>>7))*(1+f*Math.pow(2,-23))*Math.pow(2,n)}function h(b,c){var e=v(b,c),f=v(b,c+1),k=v(b,c+2);return(v(b,c+3)<<24)+(k<<16)+(f<<8)+e}function u(b,c){var e=v(b,c);return(v(b,c+1)<<8)+e}function p(b,c){var e=v(b,c);return e>127?e-256:e}function v(b,c){return b.charCodeAt(c)&255}function t(c){var e,
-f,k;e=h(b,c);f=h(b,c+F);k=h(b,c+I);c=u(b,c+C);D.faces.push(new THREE.Face3(e,f,k,null,null,D.materials[c]))}function x(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+F);k=h(b,c+I);m=u(b,c+C);o=h(b,c+K);p=h(b,c+U);c=h(b,c+L);m=D.materials[m];var t=E[p*3],v=E[p*3+1];p=E[p*3+2];var w=E[c*3],M=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face3(e,f,k,[new THREE.Vector3(E[o*3],E[o*3+1],E[o*3+2]),new THREE.Vector3(t,v,p),new THREE.Vector3(w,M,c)],null,m))}function w(c){var e,f,k,m;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,
-c+P);c=u(b,c+o);D.faces.push(new THREE.Face4(e,f,k,m,null,null,D.materials[c]))}function z(c){var e,f,k,m,p,t,v,w;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,c+P);p=u(b,c+o);t=h(b,c+W);v=h(b,c+na);w=h(b,c+R);c=h(b,c+ia);p=D.materials[p];var x=E[v*3],M=E[v*3+1];v=E[v*3+2];var y=E[w*3],T=E[w*3+1];w=E[w*3+2];var z=E[c*3],B=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face4(e,f,k,m,[new THREE.Vector3(E[t*3],E[t*3+1],E[t*3+2]),new THREE.Vector3(x,M,v),new THREE.Vector3(y,T,w),new THREE.Vector3(z,B,c)],null,p))}
-function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+aa);k=h(b,c+ma);c=N[e*2];m=N[e*2+1];e=N[f*2];var o=D.faceVertexUvs[0];f=N[f*2+1];var p=N[k*2];k=N[k*2+1];var t=[];t.push(new THREE.UV(c,m));t.push(new THREE.UV(e,f));t.push(new THREE.UV(p,k));o.push(t)}function B(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+fa);k=h(b,c+ga);m=h(b,c+da);c=N[e*2];o=N[e*2+1];e=N[f*2];p=N[f*2+1];f=N[k*2];var t=D.faceVertexUvs[0];k=N[k*2+1];var u=N[m*2];m=N[m*2+1];var v=[];v.push(new THREE.UV(c,o));v.push(new THREE.UV(e,p));v.push(new THREE.UV(f,
-k));v.push(new THREE.UV(u,m));t.push(v)}var D=this,G=0,H,E=[],N=[],F,I,C,K,U,L,O,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa;THREE.Geometry.call(this);THREE.Loader.prototype.init_materials(D,f,c);H={signature:b.substr(G,8),header_bytes:v(b,G+8),vertex_coordinate_bytes:v(b,G+9),normal_coordinate_bytes:v(b,G+10),uv_coordinate_bytes:v(b,G+11),vertex_index_bytes:v(b,G+12),normal_index_bytes:v(b,G+13),uv_index_bytes:v(b,G+14),material_index_bytes:v(b,G+15),nvertices:h(b,G+16),nnormals:h(b,G+16+4),nuvs:h(b,
-G+16+8),ntri_flat:h(b,G+16+12),ntri_smooth:h(b,G+16+16),ntri_flat_uv:h(b,G+16+20),ntri_smooth_uv:h(b,G+16+24),nquad_flat:h(b,G+16+28),nquad_smooth:h(b,G+16+32),nquad_flat_uv:h(b,G+16+36),nquad_smooth_uv:h(b,G+16+40)};G+=H.header_bytes;F=H.vertex_index_bytes;I=H.vertex_index_bytes*2;C=H.vertex_index_bytes*3;K=H.vertex_index_bytes*3+H.material_index_bytes;U=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes;L=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*2;O=H.vertex_index_bytes;
-S=H.vertex_index_bytes*2;P=H.vertex_index_bytes*3;o=H.vertex_index_bytes*4;W=H.vertex_index_bytes*4+H.material_index_bytes;na=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes;R=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*2;ia=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*3;aa=H.uv_index_bytes;ma=H.uv_index_bytes*2;fa=H.uv_index_bytes;ga=H.uv_index_bytes*2;da=H.uv_index_bytes*3;c=H.vertex_index_bytes*3+H.material_index_bytes;qa=H.vertex_index_bytes*
-4+H.material_index_bytes;$=H.ntri_flat*c;ca=H.ntri_smooth*(c+H.normal_index_bytes*3);X=H.ntri_flat_uv*(c+H.uv_index_bytes*3);ja=H.ntri_smooth_uv*(c+H.normal_index_bytes*3+H.uv_index_bytes*3);ea=H.nquad_flat*qa;c=H.nquad_smooth*(qa+H.normal_index_bytes*4);qa=H.nquad_flat_uv*(qa+H.uv_index_bytes*4);G+=function(c){for(var f,h,m,n=H.vertex_coordinate_bytes*3,o=c+H.nvertices*n;c<o;c+=n)f=e(b,c),h=e(b,c+H.vertex_coordinate_bytes),m=e(b,c+H.vertex_coordinate_bytes*2),D.vertices.push(new THREE.Vertex(new THREE.Vector3(f,
-h,m)));return H.nvertices*n}(G);G+=function(c){for(var e,f,k,h=H.normal_coordinate_bytes*3,m=c+H.nnormals*h;c<m;c+=h)e=p(b,c),f=p(b,c+H.normal_coordinate_bytes),k=p(b,c+H.normal_coordinate_bytes*2),E.push(e/127,f/127,k/127);return H.nnormals*h}(G);G+=function(c){for(var f,h,m=H.uv_coordinate_bytes*2,n=c+H.nuvs*m;c<n;c+=m)f=e(b,c),h=e(b,c+H.uv_coordinate_bytes),N.push(f,h);return H.nuvs*m}(G);$=G+$;ca=$+ca;X=ca+X;ja=X+ja;ea=ja+ea;c=ea+c;qa=c+qa;(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,
-f=e+H.uv_index_bytes*3,k=b+H.ntri_flat_uv*f;for(c=b;c<k;c+=f)t(c),y(c+e);return k-b})(ca);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=e+H.uv_index_bytes*3,k=b+H.ntri_smooth_uv*f;for(c=b;c<k;c+=f)x(c),y(c+e);return k-b})(X);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=e+H.uv_index_bytes*4,k=b+H.nquad_flat_uv*f;for(c=b;c<k;c+=f)w(c),B(c+e);return k-b})(c);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*
-4,f=e+H.uv_index_bytes*4,k=b+H.nquad_smooth_uv*f;for(c=b;c<k;c+=f)z(c),B(c+e);return k-b})(qa);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,f=b+H.ntri_flat*e;for(c=b;c<f;c+=e)t(c);return f-b})(G);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=b+H.ntri_smooth*e;for(c=b;c<f;c+=e)x(c);return f-b})($);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=b+H.nquad_flat*e;for(c=b;c<f;c+=e)w(c);return f-b})(ja);(function(b){var c,
-e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*4,f=b+H.nquad_smooth*e;for(c=b;c<f;c+=e)z(c);return f-b})(ea);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};h.prototype=new THREE.Geometry;h.prototype.constructor=h;c(new h(e))};
-var ColladaLoader=function(){function b(b,c,e){for(var b=$.evaluate(b,$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),f={},k=b.iterateNext(),h=0;k;){k=(new c).parse(k);if(k.id.length==0)k.id=e+h++;f[k.id]=k;k=b.iterateNext()}return f}function c(){var b=1E6,c=-b,e=0,f;for(f in qa)for(var k=qa[f],h=0;h<k.sampler.length;h++){var m=k.sampler[h];m.create();b=Math.min(b,m.startTime);c=Math.max(c,m.endTime);e=Math.max(e,m.input.length)}return{start:b,end:c,frames:e}}function e(b,c,f,k){b.world=b.world||
-new THREE.Matrix4;b.world.copy(b.matrix);if(b.channels&&b.channels.length){var h=b.channels[0].sampler.output[f];h instanceof THREE.Matrix4&&b.world.copy(h)}k&&b.world.multiply(k,b.world);c.push(b);for(k=0;k<b.nodes.length;k++)e(b.nodes[k],c,f,b.world)}function f(b,f,k){var h=V[f.url];if(!h||!h.skin)console.log("could not find skin controller!");else if(!f.skeleton||!f.skeleton.length)console.log("could not find the skeleton for the skin!");else{var m=c(),f=X.getChildById(f.skeleton[0],!0)||X.getChildBySid(f.skeleton[0],
-!0),n,o,p,t,v=new THREE.Vector3,u;for(n=0;n<b.vertices.length;n++)h.skin.bindShapeMatrix.multiplyVector3(b.vertices[n].position);for(k=0;k<m.frames;k++){var w=[],x=[];for(n=0;n<b.vertices.length;n++)x.push(new THREE.Vertex(new THREE.Vector3));e(f,w,k);n=w;o=h.skin;for(t=0;t<n.length;t++){p=n[t];u=-1;for(var y=0;y<o.joints.length;y++)if(p.sid==o.joints[y]){u=y;break}if(u>=0){y=o.invBindMatrices[u];p.invBindMatrix=y;p.skinningMatrix=new THREE.Matrix4;p.skinningMatrix.multiply(p.world,y);p.weights=[];
-for(y=0;y<o.weights.length;y++)for(var z=0;z<o.weights[y].length;z++){var B=o.weights[y][z];B.joint==u&&p.weights.push(B)}}else throw"could not find joint!";}for(n=0;n<w.length;n++)for(o=0;o<w[n].weights.length;o++)p=w[n].weights[o],t=p.index,p=p.weight,u=b.vertices[t],t=x[t],v.x=u.position.x,v.y=u.position.y,v.z=u.position.z,w[n].skinningMatrix.multiplyVector3(v),t.position.x+=v.x*p,t.position.y+=v.y*p,t.position.z+=v.z*p;b.morphTargets.push({name:"target_"+k,vertices:x})}}}function h(b){var c=new THREE.Object3D,
-e,k,m;c.name=b.id||"";c.matrixAutoUpdate=!1;c.matrix=b.matrix;for(m=0;m<b.controllers.length;m++){var n=V[b.controllers[m].url];switch(n.type){case "skin":if(pa[n.skin.source]){var o=new z;o.url=n.skin.source;o.instance_material=b.controllers[m].instance_material;b.geometries.push(o);e=b.controllers[m]}else if(V[n.skin.source]&&(k=n=V[n.skin.source],n.morph&&pa[n.morph.source]))o=new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o);break;case "morph":if(pa[n.morph.source])o=
-new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o),k=b.controllers[m];console.log("DAE: morph-controller partially supported.")}}for(m=0;m<b.geometries.length;m++){var n=b.geometries[m],o=n.instance_material,n=pa[n.url],p={},t=0,v;if(n&&n.mesh&&n.mesh.primitives){if(c.name.length==0)c.name=n.id;if(o)for(j=0;j<o.length;j++){v=o[j];var u=ra[va[v.target].instance_effect.url].shader;u.material.opacity=!u.material.opacity?1:u.material.opacity;v=p[v.symbol]=
-u.material;t++}o=v||new THREE.MeshLambertMaterial({color:14540253,shading:THREE.FlatShading});n=n.mesh.geometry3js;if(t>1){o=new THREE.MeshFaceMaterial;for(j=0;j<n.faces.length;j++)t=n.faces[j],t.materials=[p[t.daeMaterial]]}if(e!==void 0)f(n,e),o.morphTargets=!0,o=new THREE.SkinnedMesh(n,o),o.skeleton=e.skeleton,o.skinController=V[e.url],o.skinInstanceController=e,o.name="skin_"+za.length,za.push(o);else if(k!==void 0){p=n;t=k instanceof x?V[k.url]:k;if(!t||!t.morph)console.log("could not find morph controller!");
-else{t=t.morph;for(u=0;u<t.targets.length;u++){var w=pa[t.targets[u]];if(w.mesh&&w.mesh.primitives&&w.mesh.primitives.length)w=w.mesh.primitives[0].geometry,w.vertices.length===p.vertices.length&&p.morphTargets.push({name:"target_1",vertices:w.vertices})}p.morphTargets.push({name:"target_Z",vertices:p.vertices})}o.morphTargets=!0;o=new THREE.Mesh(n,o);o.name="morph_"+Aa.length;Aa.push(o)}else o=new THREE.Mesh(n,o);c.addChild(o)}}for(m=0;m<b.nodes.length;m++)c.addChild(h(b.nodes[m],b));return c}function m(){this.init_from=
-this.id=""}function k(){this.type=this.name=this.id="";this.morph=this.skin=null}function n(){this.weights=this.targets=this.source=this.method=null}function u(){this.source="";this.bindShapeMatrix=null;this.invBindMatrices=[];this.joints=[];this.weights=[]}function p(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Object3D}function v(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=[];this.transforms=[];this.geometries=[];this.channels=[];this.matrix=new THREE.Matrix4}function t(){this.type=
-this.sid="";this.data=[];this.matrix=new THREE.Matrix4}function x(){this.url="";this.skeleton=[];this.instance_material=[]}function w(){this.target=this.symbol=""}function z(){this.url="";this.instance_material=[]}function y(){this.id="";this.mesh=null}function B(b){this.geometry=b.id;this.primitives=[];this.geometry3js=this.vertices=null}function D(){}function G(){this.material="";this.count=0;this.inputs=[];this.vcount=null;this.p=[];this.geometry=new THREE.Geometry}function H(){this.source="";
-this.stride=this.count=0;this.params=[]}function E(){this.input={}}function N(){this.semantic="";this.offset=0;this.source="";this.set=0}function F(b){this.id=b;this.type=null}function I(){this.name=this.id="";this.instance_effect=null}function C(){this.color=new THREE.Color(0);this.color.setRGB(Math.random(),Math.random(),Math.random());this.color.a=1;this.texcoord=this.texture=null}function K(b,c){this.type=b;this.effect=c;this.material=null}function U(b){this.effect=b;this.format=this.init_from=
-null}function L(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter=this.wrap_t=this.wrap_s=this.source=null}function O(){this.name=this.id="";this.sampler=this.surface=this.shader=null}function S(){this.url=""}function P(){this.name=this.id="";this.source={};this.sampler=[];this.channel=[]}function o(b){this.animation=b;this.target=this.source="";this.member=this.arrIndices=this.arrSyntax=this.dotSyntax=this.sid=null}function W(b){this.id="";this.animation=b;this.inputs=[];this.endTime=
-this.startTime=this.interpolation=this.output=this.input=null;this.duration=0}function na(b){var c=b.getAttribute("id");if(ja[c]!=void 0)return ja[c];ja[c]=(new F(c)).parse(b);return ja[c]}function R(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADASchema";return null}function ia(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseFloat(b[e]));return c}function aa(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseInt(b[e],10));return c}function ma(b){return b.replace(/^\s+/,"").replace(/\s+$/,
-"").split(/\s+/)}function fa(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),10):e}function ga(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";return e}c=c||2;e=b.toString().split(".");for(e[1]=e.length>1?e[1].substr(0,c):"0";e[1].length<c;)e[1]+="0";return e.join(".")}function da(b,c){var e="";e+=ga(b.x,c)+",";e+=ga(b.y,c)+",";e+=ga(b.z,c);return e}var $=null,ca=null,X,ja={},ea={},qa={},V={},pa={},va={},ra={},sa,Ca=null,wa,Aa,za,Fa=THREE.SmoothShading;m.prototype.parse=function(b){this.id=
-b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeName=="init_from")this.init_from=e.textContent}return this};k.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.type="none";for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "skin":this.skin=(new u).parse(e);this.type=e.nodeName;break;case "morph":this.morph=(new n).parse(e),this.type=e.nodeName}}return this};n.prototype.parse=function(b){var c=
-{},e=[],f;this.method=b.getAttribute("method");this.source=b.getAttribute("source").replace(/^#/,"");for(f=0;f<b.childNodes.length;f++){var k=b.childNodes[f];if(k.nodeType==1)switch(k.nodeName){case "source":k=(new F).parse(k);c[k.id]=k;break;case "targets":e=this.parseInputs(k);break;default:console.log(k.nodeName)}}for(f=0;f<e.length;f++)switch(b=e[f],k=c[b.source],b.semantic){case "MORPH_TARGET":this.targets=k.read();break;case "MORPH_WEIGHT":this.weights=k.read()}return this};n.prototype.parseInputs=
-function(b){for(var c=[],e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":c.push((new N).parse(f))}}return c};u.prototype.parse=function(b){var c={},e,f;this.source=b.getAttribute("source").replace(/^#/,"");this.invBindMatrices=[];this.joints=[];this.weights=[];for(var k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(h.nodeType==1)switch(h.nodeName){case "bind_shape_matrix":h=ia(h.textContent);this.bindShapeMatrix=new THREE.Matrix4;this.bindShapeMatrix.set(h[0],
-h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]);break;case "source":h=(new F).parse(h);c[h.id]=h;break;case "joints":e=h;break;case "vertex_weights":f=h;break;default:console.log(h.nodeName)}}this.parseJoints(e,c);this.parseWeights(f,c);return this};u.prototype.parseJoints=function(b,c){for(var e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":var f=(new N).parse(f),k=c[f.source];if(f.semantic=="JOINT")this.joints=
-k.read();else if(f.semantic=="INV_BIND_MATRIX")this.invBindMatrices=k.read()}}};u.prototype.parseWeights=function(b,c){for(var e,f,k=[],h=0;h<b.childNodes.length;h++){var m=b.childNodes[h];if(m.nodeType==1)switch(m.nodeName){case "input":k.push((new N).parse(m));break;case "v":e=aa(m.textContent);break;case "vcount":f=aa(m.textContent)}}for(h=m=0;h<f.length;h++){for(var n=f[h],o=[],p=0;p<n;p++){for(var t={},u=0;u<k.length;u++){var v=k[u],w=e[m+v.offset];switch(v.semantic){case "JOINT":t.joint=w;break;
-case "WEIGHT":t.weight=c[v.source].data[w]}}o.push(t);m+=k.length}for(p=0;p<o.length;p++)o[p].index=h;this.weights.push(o)}};p.prototype.getChildById=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};p.prototype.getChildBySid=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};p.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");
-this.nodes=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "node":this.nodes.push((new v).parse(e))}}return this};v.prototype.getChannelForTransform=function(b){for(var c=0;c<this.channels.length;c++){var e=this.channels[c],f=e.target.split("/");f.shift();var k=f.shift(),h=k.indexOf(".")>=0,m=k.indexOf("(")>=0,n;if(h)f=k.split("."),k=f.shift(),f.shift();else if(m){n=k.split("(");k=n.shift();for(f=0;f<n.length;f++)n[f]=parseInt(n[f].replace(/\)/,
-""))}if(k==b)return e.info={sid:k,dotSyntax:h,arrSyntax:m,arrIndices:n},e}return null};v.prototype.getChildById=function(b,c){if(this.id==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};v.prototype.getChildBySid=function(b,c){if(this.sid==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};v.prototype.getTransformBySid=function(b){for(var c=0;c<this.transforms.length;c++)if(this.transforms[c].sid==
-b)return this.transforms[c];return null};v.prototype.parse=function(b){var c;this.id=b.getAttribute("id");this.sid=b.getAttribute("sid");this.name=b.getAttribute("name");this.type=b.getAttribute("type");this.type=this.type=="JOINT"?this.type:"NODE";this.nodes=[];this.transforms=[];this.geometries=[];this.controllers=[];this.matrix=new THREE.Matrix4;for(var e=0;e<b.childNodes.length;e++)if(c=b.childNodes[e],c.nodeType==1)switch(c.nodeName){case "node":this.nodes.push((new v).parse(c));break;case "instance_camera":break;
-case "instance_controller":this.controllers.push((new x).parse(c));break;case "instance_geometry":this.geometries.push((new z).parse(c));break;case "instance_light":break;case "instance_node":c=c.getAttribute("url").replace(/^#/,"");(c=$.evaluate(".//dae:library_nodes//dae:node[@id='"+c+"']",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&this.nodes.push((new v).parse(c));break;case "rotate":case "translate":case "scale":case "matrix":case "lookat":case "skew":this.transforms.push((new t).parse(c));
-break;case "extra":break;default:console.log(c.nodeName)}b=[];e=1E6;c=-1E6;for(var f in qa)for(var k=qa[f],h=0;h<k.channel.length;h++){var m=k.channel[h],n=k.sampler[h];f=m.target.split("/")[0];if(f==this.id)n.create(),m.sampler=n,e=Math.min(e,n.startTime),c=Math.max(c,n.endTime),b.push(m)}if(b.length)this.startTime=e,this.endTime=c;if((this.channels=b)&&this.channels.length){f=1E7;for(i=0;i<this.channels.length;i++){b=this.channels[i].sampler;for(e=0;e<b.input.length-1;e++)f=Math.min(f,b.input[e+
-1]-b.input[e])}e=[];for(b=this.startTime;b<this.endTime;b+=f){c=b;for(var k={},o=h=void 0,h=0;h<this.channels.length;h++)o=this.channels[h],k[o.sid]=o;m=new THREE.Matrix4;for(h=0;h<this.transforms.length;h++)if(n=this.transforms[h],o=k[n.sid],o!==void 0){for(var p=o.sampler,u,o=0;o<p.input.length-1;o++)if(p.input[o+1]>c){u=p.output[o];break}m=u!==void 0?u instanceof THREE.Matrix4?m.multiply(m,u):m.multiply(m,n.matrix):m.multiply(m,n.matrix)}else m=m.multiply(m,n.matrix);c=m;e.push({time:b,pos:[c.n14,
-c.n24,c.n34],rotq:[0,0,0,1],scl:[1,1,1]})}this.keys=e}this.updateMatrix();return this};v.prototype.updateMatrix=function(){this.matrix.identity();for(var b=0;b<this.transforms.length;b++)this.matrix.multiply(this.matrix,this.transforms[b].matrix)};t.prototype.parse=function(b){this.sid=b.getAttribute("sid");this.type=b.nodeName;this.data=ia(b.textContent);this.updateMatrix();return this};t.prototype.updateMatrix=function(){var b=0;this.matrix.identity();switch(this.type){case "matrix":this.matrix.set(this.data[0],
-this.data[1],this.data[2],this.data[3],this.data[4],this.data[5],this.data[6],this.data[7],this.data[8],this.data[9],this.data[10],this.data[11],this.data[12],this.data[13],this.data[14],this.data[15]);break;case "translate":this.matrix.setTranslation(this.data[0],this.data[1],this.data[2]);break;case "rotate":b=this.data[3]*(Math.PI/180);this.matrix.setRotationAxis(new THREE.Vector3(this.data[0],this.data[1],this.data[2]),b);break;case "scale":this.matrix.setScale(this.data[0],this.data[1],this.data[2])}return this.matrix};
-x.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.skeleton=[];this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "skeleton":this.skeleton.push(e.textContent.replace(/^#/,""));break;case "bind_material":if(e=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(var f=e.iterateNext();f;)this.instance_material.push((new w).parse(f)),f=e.iterateNext()}}return this};
-w.prototype.parse=function(b){this.symbol=b.getAttribute("symbol");this.target=b.getAttribute("target").replace(/^#/,"");return this};z.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1&&e.nodeName=="bind_material"){if(b=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(c=b.iterateNext();c;)this.instance_material.push((new w).parse(c)),
-c=b.iterateNext();break}}return this};y.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "mesh":this.mesh=(new B(this)).parse(e)}}return this};B.prototype.parse=function(b){function c(b,e){var f=da(b.position);k[f]===void 0&&(k[f]={v:b,index:e});return k[f]}this.primitives=[];var e;for(e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];switch(f.nodeName){case "source":na(f);break;case "vertices":this.vertices=
-(new E).parse(f);break;case "triangles":this.primitives.push((new G).parse(f));break;case "polygons":console.warn("polygon holes not yet supported!");case "polylist":this.primitives.push((new D).parse(f))}}var k={};this.geometry3js=new THREE.Geometry;f=ja[this.vertices.input.POSITION.source].data;for(b=e=0;e<f.length;e+=3,b++){var h=new THREE.Vertex(new THREE.Vector3(f[e],f[e+1],f[e+2]));c(h,b);this.geometry3js.vertices.push(h)}for(e=0;e<this.primitives.length;e++)primitive=this.primitives[e],primitive.setVertices(this.vertices),
-this.handlePrimitive(primitive,this.geometry3js,k);this.geometry3js.computeCentroids();this.geometry3js.computeFaceNormals();this.geometry3js.computeVertexNormals();this.geometry3js.computeBoundingBox();return this};B.prototype.handlePrimitive=function(b,c,e){var f=0,k,h,m=b.p,n=b.inputs,o,p,t,u=0,v=3,w=[];for(k=0;k<n.length;k++)o=n[k],o.semantic=="TEXCOORD"&&w.push(o.set);for(;f<m.length;){var x=[],y=[],z={};b.vcount&&(v=b.vcount[u++]);for(k=0;k<v;k++)for(h=0;h<n.length;h++)switch(o=n[h],source=
-ja[o.source],p=m[f+k*n.length+o.offset],numParams=source.accessor.params.length,t=p*numParams,o.semantic){case "VERTEX":o=da(c.vertices[p].position);x.push(e[o].index);break;case "NORMAL":y.push(new THREE.Vector3(source.data[t+0],source.data[t+1],source.data[t+2]));break;case "TEXCOORD":z[o.set]===void 0&&(z[o.set]=[]),z[o.set].push(new THREE.UV(source.data[t+0],source.data[t+1]))}h=new THREE.Face3(x[0],x[1],x[2],[y[0],y[1],y[2]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=
-z[w[h]],c.faceVertexUvs[h].push([o[0],o[1],o[2]]);if(v>3)for(k=2;k<x.length-1;k++){h=new THREE.Face3(x[0],x[k],x[k+1],[y[0],y[k],y[k+1]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=z[w[h]],c.faceVertexUvs[h].push([o[0],o[k],o[k+1]])}f+=n.length*v}};D.prototype=new G;D.prototype.constructor=D;G.prototype.setVertices=function(b){for(var c=0;c<this.inputs.length;c++)if(this.inputs[c].source==b.id)this.inputs[c].source=b.input.POSITION.source};G.prototype.parse=function(b){this.inputs=
-[];this.material=b.getAttribute("material");this.count=fa(b,"count",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "input":this.inputs.push((new N).parse(b.childNodes[c]));break;case "vcount":this.vcount=aa(e.textContent);break;case "p":this.p=aa(e.textContent)}}return this};H.prototype.parse=function(b){this.params=[];this.source=b.getAttribute("source");this.count=fa(b,"count",0);this.stride=fa(b,"stride",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];
-if(e.nodeName=="param"){var f={};f.name=e.getAttribute("name");f.type=e.getAttribute("type");this.params.push(f)}}return this};E.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++)b.childNodes[c].nodeName=="input"&&(input=(new N).parse(b.childNodes[c]),this.input[input.semantic]=input);return this};N.prototype.parse=function(b){this.semantic=b.getAttribute("semantic");this.source=b.getAttribute("source").replace(/^#/,"");this.set=fa(b,"set",-1);this.offset=
-fa(b,"offset",0);if(this.semantic=="TEXCOORD"&&this.set<0)this.set=0;return this};F.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "bool_array":for(var f=ma(e.textContent),k=[],h=0;h<f.length;h++)k.push(f[h]=="true"||f[h]=="1"?!0:!1);this.data=k;this.type=e.nodeName;break;case "float_array":this.data=ia(e.textContent);this.type=e.nodeName;break;case "int_array":this.data=aa(e.textContent);this.type=e.nodeName;
-break;case "IDREF_array":case "Name_array":this.data=ma(e.textContent);this.type=e.nodeName;break;case "technique_common":for(f=0;f<e.childNodes.length;f++)if(e.childNodes[f].nodeName=="accessor"){this.accessor=(new H).parse(e.childNodes[f]);break}}}return this};F.prototype.read=function(){var b=[],c=this.accessor.params[0];switch(c.type){case "IDREF":case "Name":case "float":return this.data;case "float4x4":for(c=0;c<this.data.length;c+=16){var e=this.data.slice(c,c+16),f=new THREE.Matrix4;f.set(e[0],
-e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);b.push(f)}break;default:console.log("Dae::Source:read dont know how to read "+c.type)}return b};I.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");for(var c=0;c<b.childNodes.length;c++)if(b.childNodes[c].nodeName=="instance_effect"){this.instance_effect=(new S).parse(b.childNodes[c]);break}return this};C.prototype.isColor=function(){return this.texture==null};C.prototype.isTexture=
-function(){return this.texture!=null};C.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "color":e=ia(e.textContent);this.color=new THREE.Color(0);this.color.setRGB(e[0],e[1],e[2]);this.color.a=e[3];break;case "texture":this.texture=e.getAttribute("texture"),this.texcoord=e.getAttribute("texcoord")}}return this};K.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==
-1)switch(e.nodeName){case "ambient":case "emission":case "diffuse":case "specular":case "transparent":this[e.nodeName]=(new C).parse(e);break;case "shininess":case "reflectivity":case "transparency":var f;f=$.evaluate(".//dae:float",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var k=f.iterateNext(),h=[];k;)h.push(k),k=f.iterateNext();f=h;f.length>0&&(this[e.nodeName]=parseFloat(f[0].textContent))}}this.create();return this};K.prototype.create=function(){var b={},c=this.transparency!==void 0&&
-this.transparency<1,e;for(e in this)switch(e){case "ambient":case "emission":case "diffuse":case "specular":var f=this[e];if(f instanceof C)if(f.isTexture()){if(this.effect.sampler&&this.effect.surface&&this.effect.sampler.source==this.effect.surface.sid&&(f=ea[this.effect.surface.init_from]))b.map=THREE.ImageUtils.loadTexture(wa+f.init_from),b.map.wrapS=THREE.RepeatWrapping,b.map.wrapT=THREE.RepeatWrapping,b.map.repeat.x=1,b.map.repeat.y=-1}else e=="diffuse"?b.color=f.color.getHex():c||(b[e]=f.color.getHex());
-break;case "shininess":case "reflectivity":b[e]=this[e];break;case "transparency":if(c)b.transparent=!0,b.opacity=this[e],c=!0}b.shading=Fa;return this.material=new THREE.MeshLambertMaterial(b)};U.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "init_from":this.init_from=e.textContent;break;case "format":this.format=e.textContent;break;default:console.log("unhandled Surface prop: "+e.nodeName)}}return this};L.prototype.parse=
-function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":this.source=e.textContent;break;case "minfilter":this.minfilter=e.textContent;break;case "magfilter":this.magfilter=e.textContent;break;case "mipfilter":this.mipfilter=e.textContent;break;case "wrap_s":this.wrap_s=e.textContent;break;case "wrap_t":this.wrap_t=e.textContent;break;default:console.log("unhandled Sampler2D prop: "+e.nodeName)}}return this};O.prototype.create=function(){if(this.shader==
-null)return null};O.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.shader=null;for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "profile_COMMON":this.parseTechnique(this.parseProfileCOMMON(e))}}return this};O.prototype.parseNewparam=function(b){for(var c=b.getAttribute("sid"),e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "surface":this.surface=(new U(this)).parse(f);
-this.surface.sid=c;break;case "sampler2D":this.sampler=(new L(this)).parse(f);this.sampler.sid=c;break;case "extra":break;default:console.log(f.nodeName)}}};O.prototype.parseProfileCOMMON=function(b){for(var c,e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "profile_COMMON":this.parseProfileCOMMON(f);break;case "technique":c=f;break;case "newparam":this.parseNewparam(f);break;case "extra":break;default:console.log(f.nodeName)}}return c};O.prototype.parseTechnique=
-function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "lambert":case "blinn":case "phong":this.shader=(new K(e.nodeName,this)).parse(e)}}};S.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");return this};P.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.source={};for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":e=
-(new F).parse(e);this.source[e.id]=e;break;case "sampler":this.sampler.push((new W(this)).parse(e));break;case "channel":this.channel.push((new o(this)).parse(e))}}return this};o.prototype.parse=function(b){this.source=b.getAttribute("source").replace(/^#/,"");this.target=b.getAttribute("target");var c=this.target.split("/");c.shift();var b=c.shift(),e=b.indexOf(".")>=0,f=b.indexOf("(")>=0,k,h;if(e)c=b.split("."),b=c.shift(),h=c.shift();else if(f){k=b.split("(");b=k.shift();for(c=0;c<k.length;c++)k[c]=
-parseInt(k[c].replace(/\)/,""))}this.sid=b;this.dotSyntax=e;this.arrSyntax=f;this.arrIndices=k;this.member=h;return this};W.prototype.parse=function(b){this.id=b.getAttribute("id");this.inputs=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "input":this.inputs.push((new N).parse(e))}}return this};W.prototype.create=function(){for(var b=0;b<this.inputs.length;b++){var c=this.inputs[b],e=this.animation.source[c.source];switch(c.semantic){case "INPUT":this.input=
-e.read();break;case "OUTPUT":this.output=e.read();break;case "INTERPOLATION":this.interpolation=e.read();break;case "IN_TANGENT":break;case "OUT_TANGENT":break;default:console.log(c.semantic)}}this.duration=this.endTime=this.startTime=0;if(this.input.length){this.startTime=1E8;this.endTime=-1E8;for(b=0;b<this.input.length;b++)this.startTime=Math.min(this.startTime,this.input[b]),this.endTime=Math.max(this.endTime,this.input[b]);this.duration=this.endTime-this.startTime}};return{load:function(e,f){if(document.implementation&&
-document.implementation.createDocument){document.implementation.createDocument("http://www.collada.org/2005/11/COLLADASchema","COLLADA",null);e+="?rnd="+Math.random();var n=new XMLHttpRequest;n.overrideMimeType&&n.overrideMimeType("text/xml");n.onreadystatechange=function(){if(n.readyState==4&&(n.status==0||n.status==200)){Ca=f;var o,t=e;$=n.responseXML;o=Ca;t!==void 0&&(t=t.split("/"),t.pop(),wa=t.join("/")+"/");ea=b("//dae:library_images/dae:image",m,"image");va=b("//dae:library_materials/dae:material",
-I,"material");ra=b("//dae:library_effects/dae:effect",O,"effect");pa=b("//dae:library_geometries/dae:geometry",y,"geometry");V=b("//dae:library_controllers/dae:controller",k,"controller");qa=b("//dae:library_animations/dae:animation",P,"animation");sa=b(".//dae:library_visual_scenes/dae:visual_scene",p,"visual_scene");Aa=[];za=[];(t=$.evaluate(".//dae:scene/dae:instance_visual_scene",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(t=t.getAttribute("url").replace(/^#/,""),X=sa[t]):
-X=null;ca=new THREE.Object3D;for(t=0;t<X.nodes.length;t++)ca.addChild(h(X.nodes[t]));c();for(var u in qa);u={scene:ca,morphs:Aa,skins:za,dae:{images:ea,materials:va,effects:ra,geometries:pa,controllers:V,animations:qa,visualScenes:sa,scene:X}};o&&o(u)}};n.open("GET",e,!0);n.send(null)}else alert("Don't know how to parse XML!")},setPreferredShading:function(b){Fa=b},applySkin:f,geometries:pa}};THREE.JSONLoader=function(b){THREE.Loader.call(this,b)};THREE.JSONLoader.prototype=new THREE.Loader;
-THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.supr=THREE.Loader.prototype;THREE.JSONLoader.prototype.load=function(b){var c=this,e=b.model,f=b.callback,h=b.texture_path?b.texture_path:this.extractUrlbase(e),b=new Worker(e);b.onmessage=function(b){c.createModel(b.data,f,h);c.onLoadComplete()};this.onLoadStart();b.postMessage((new Date).getTime())};
-THREE.JSONLoader.prototype.createModel=function(b,c,e){var f=new THREE.Geometry,h=b.scale!==void 0?1/b.scale:1;this.init_materials(f,b.materials,e);(function(c){if(b.version===void 0||b.version!=2)console.error("Deprecated file format.");else{var e,h,u,p,v,t,x,w,z,y,B,D,G,H,E=b.faces;t=b.vertices;var N=b.normals,F=b.colors,I=0;for(e=0;e<b.uvs.length;e++)b.uvs[e].length&&I++;for(e=0;e<I;e++)f.faceUvs[e]=[],f.faceVertexUvs[e]=[];p=0;for(v=t.length;p<v;)x=new THREE.Vertex,x.position.x=t[p++]*c,x.position.y=
-t[p++]*c,x.position.z=t[p++]*c,f.vertices.push(x);p=0;for(v=E.length;p<v;){c=E[p++];t=c&1;u=c&2;e=c&4;h=c&8;w=c&16;x=c&32;y=c&64;c&=128;t?(B=new THREE.Face4,B.a=E[p++],B.b=E[p++],B.c=E[p++],B.d=E[p++],t=4):(B=new THREE.Face3,B.a=E[p++],B.b=E[p++],B.c=E[p++],t=3);if(u)u=E[p++],B.materials=f.materials[u];u=f.faces.length;if(e)for(e=0;e<I;e++)D=b.uvs[e],z=E[p++],H=D[z*2],z=D[z*2+1],f.faceUvs[e][u]=new THREE.UV(H,z);if(h)for(e=0;e<I;e++){D=b.uvs[e];G=[];for(h=0;h<t;h++)z=E[p++],H=D[z*2],z=D[z*2+1],G[h]=
-new THREE.UV(H,z);f.faceVertexUvs[e][u]=G}if(w)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.normal=h;if(x)for(e=0;e<t;e++)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.vertexNormals.push(h);if(y)x=E[p++],x=new THREE.Color(F[x]),B.color=x;if(c)for(e=0;e<t;e++)x=E[p++],x=new THREE.Color(F[x]),B.vertexColors.push(x);f.faces.push(B)}}})(h);(function(){var c,e,h,u;if(b.skinWeights){c=0;for(e=b.skinWeights.length;c<e;c+=2)h=b.skinWeights[c],u=b.skinWeights[c+1],f.skinWeights.push(new THREE.Vector4(h,
-u,0,0))}if(b.skinIndices){c=0;for(e=b.skinIndices.length;c<e;c+=2)h=b.skinIndices[c],u=b.skinIndices[c+1],f.skinIndices.push(new THREE.Vector4(h,u,0,0))}f.bones=b.bones;f.animation=b.animation})();(function(c){if(b.morphTargets!==void 0){var e,h,u,p,v,t,x,w,z;e=0;for(h=b.morphTargets.length;e<h;e++){f.morphTargets[e]={};f.morphTargets[e].name=b.morphTargets[e].name;f.morphTargets[e].vertices=[];w=f.morphTargets[e].vertices;z=b.morphTargets[e].vertices;u=0;for(p=z.length;u<p;u+=3)v=z[u]*c,t=z[u+1]*
-c,x=z[u+2]*c,w.push(new THREE.Vertex(new THREE.Vector3(v,t,x)))}}if(b.morphColors!==void 0){e=0;for(h=b.morphColors.length;e<h;e++){f.morphColors[e]={};f.morphColors[e].name=b.morphColors[e].name;f.morphColors[e].colors=[];p=f.morphColors[e].colors;v=b.morphColors[e].colors;c=0;for(u=v.length;c<u;c+=3)t=new THREE.Color(16755200),t.setRGB(v[c],v[c+1],v[c+2]),p.push(t)}}})(h);(function(){if(b.edges!==void 0){var c,e,h;for(c=0;c<b.edges.length;c+=2)e=b.edges[c],h=b.edges[c+1],f.edges.push(new THREE.Edge(f.vertices[e],
-f.vertices[h],e,h))}})();f.computeCentroids();f.computeFaceNormals();this.hasNormals(f)&&f.computeTangents();c(f)};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){}};
-THREE.SceneLoader.prototype={load:function(b,c){var e=this,f=new Worker(b);f.postMessage(0);var h=THREE.Loader.prototype.extractUrlbase(b);f.onmessage=function(b){function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}function n(){for(w in O.objects)if(!R.objects[w])if(G=O.objects[w],G.geometry!==void 0){if(F=R.geometries[G.geometry]){var b=!1;U=[];for(aa=0;aa<G.materials.length;aa++)U[aa]=R.materials[G.materials[aa]],b=U[aa]instanceof THREE.MeshShaderMaterial;b&&F.computeTangents();H=G.position;r=
-G.rotation;q=G.quaternion;s=G.scale;q=0;U.length==0&&(U[0]=new THREE.MeshFaceMaterial);U.length>1&&(U=[new THREE.MeshFaceMaterial]);object=new THREE.Mesh(F,U);object.name=w;object.position.set(H[0],H[1],H[2]);q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]);object.scale.set(s[0],s[1],s[2]);object.visible=G.visible;R.scene.addObject(object);R.objects[w]=object;G.meshCollider&&(b=THREE.CollisionUtils.MeshColliderWBox(object),R.scene.collisions.colliders.push(b));
-if(G.castsShadow)b=new THREE.ShadowVolume(F),R.scene.addChild(b),b.position=object.position,b.rotation=object.rotation,b.scale=object.scale;G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}}else H=G.position,r=G.rotation,q=G.quaternion,s=G.scale,q=0,object=new THREE.Object3D,object.name=w,object.position.set(H[0],H[1],H[2]),q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]),object.scale.set(s[0],
-s[1],s[2]),object.visible=G.visible!==void 0?G.visible:!1,R.scene.addObject(object),R.objects[w]=object,R.empties[w]=object,G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}function u(b){return function(c){R.geometries[b]=c;n();P-=1;e.onLoadComplete();v()}}function p(b){return function(c){R.geometries[b]=c}}function v(){e.callbackProgress({totalModels:W,totalTextures:na,loadedModels:W-P,loadedTextures:na-o},R);e.onLoadProgress();P==0&&o==0&&c(R)}
-var t,x,w,z,y,B,D,G,H,E,N,F,I,C,K,U,L,O,S,P,o,W,na,R;O=b.data;K=new THREE.BinaryLoader;S=new THREE.JSONLoader;o=P=0;R={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},triggers:{},empties:{}};b=!1;for(w in O.objects)if(G=O.objects[w],G.meshCollider){b=!0;break}if(b)R.scene.collisions=new THREE.CollisionSystem;if(O.transform){b=O.transform.position;E=O.transform.rotation;var ia=O.transform.scale;b&&R.scene.position.set(b[0],b[1],b[2]);E&&R.scene.rotation.set(E[0],
-E[1],E[2]);ia&&R.scene.scale.set(ia[0],ia[1],ia[2]);(b||E||ia)&&R.scene.updateMatrix()}b=function(){o-=1;v();e.onLoadComplete()};for(y in O.cameras){E=O.cameras[y];if(E.type=="perspective")I=new THREE.Camera(E.fov,E.aspect,E.near,E.far);else if(E.type=="ortho")I=new THREE.Camera,I.projectionMatrix=THREE.Matrix4.makeOrtho(E.left,E.right,E.top,E.bottom,E.near,E.far);H=E.position;E=E.target;I.position.set(H[0],H[1],H[2]);I.target.position.set(E[0],E[1],E[2]);R.cameras[y]=I}for(z in O.lights)y=O.lights[z],
-I=y.color!==void 0?y.color:16777215,E=y.intensity!==void 0?y.intensity:1,y.type=="directional"?(H=y.direction,L=new THREE.DirectionalLight(I,E),L.position.set(H[0],H[1],H[2]),L.position.normalize()):y.type=="point"?(H=y.position,d=y.distance,L=new THREE.PointLight(I,E,d),L.position.set(H[0],H[1],H[2])):y.type=="ambient"&&(L=new THREE.AmbientLight(I)),R.scene.addLight(L),R.lights[z]=L;for(B in O.fogs)z=O.fogs[B],z.type=="linear"?C=new THREE.Fog(0,z.near,z.far):z.type=="exp2"&&(C=new THREE.FogExp2(0,
-z.density)),E=z.color,C.color.setRGB(E[0],E[1],E[2]),R.fogs[B]=C;if(R.cameras&&O.defaults.camera)R.currentCamera=R.cameras[O.defaults.camera];if(R.fogs&&O.defaults.fog)R.scene.fog=R.fogs[O.defaults.fog];E=O.defaults.bgcolor;R.bgColor=new THREE.Color;R.bgColor.setRGB(E[0],E[1],E[2]);R.bgColorAlpha=O.defaults.bgalpha;for(t in O.geometries)if(B=O.geometries[t],B.type=="bin_mesh"||B.type=="ascii_mesh")P+=1,e.onLoadStart();W=P;for(t in O.geometries)B=O.geometries[t],B.type=="cube"?(F=new THREE.CubeGeometry(B.width,
-B.height,B.depth,B.segmentsWidth,B.segmentsHeight,B.segmentsDepth,null,B.flipped,B.sides),R.geometries[t]=F):B.type=="plane"?(F=new THREE.PlaneGeometry(B.width,B.height,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="sphere"?(F=new THREE.SphereGeometry(B.radius,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="cylinder"?(F=new THREE.CylinderGeometry(B.numSegs,B.topRad,B.botRad,B.height,B.topOffset,B.botOffset),R.geometries[t]=F):B.type=="torus"?(F=new THREE.TorusGeometry(B.radius,
-B.tube,B.segmentsR,B.segmentsT),R.geometries[t]=F):B.type=="icosahedron"?(F=new THREE.IcosahedronGeometry(B.subdivisions),R.geometries[t]=F):B.type=="bin_mesh"?K.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="ascii_mesh"?S.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="embedded_mesh"&&(B=O.embeds[B.id])&&S.createModel(B,p(t),"");for(D in O.textures)if(t=O.textures[D],t.url instanceof Array){o+=t.url.length;for(K=0;K<t.url.length;K++)e.onLoadStart()}else o+=1,e.onLoadStart();
-na=o;for(D in O.textures){t=O.textures[D];if(t.mapping!=void 0&&THREE[t.mapping]!=void 0)t.mapping=new THREE[t.mapping];if(t.url instanceof Array){K=[];for(var aa=0;aa<t.url.length;aa++)K[aa]=f(t.url[aa],O.urlBaseType);K=THREE.ImageUtils.loadTextureCube(K,t.mapping,b)}else{K=THREE.ImageUtils.loadTexture(f(t.url,O.urlBaseType),t.mapping,b);if(THREE[t.minFilter]!=void 0)K.minFilter=THREE[t.minFilter];if(THREE[t.magFilter]!=void 0)K.magFilter=THREE[t.magFilter];if(t.repeat){K.repeat.set(t.repeat[0],
-t.repeat[1]);if(t.repeat[0]!=1)K.wrapS=THREE.RepeatWrapping;if(t.repeat[1]!=1)K.wrapT=THREE.RepeatWrapping}t.offset&&K.offset.set(t.offset[0],t.offset[1]);if(t.wrap){S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(S[t.wrap[0]]!==void 0)K.wrapS=S[t.wrap[0]];if(S[t.wrap[1]]!==void 0)K.wrapT=S[t.wrap[1]]}}R.textures[D]=K}for(x in O.materials){D=O.materials[x];for(N in D.parameters)if(N=="envMap"||N=="map"||N=="lightMap")D.parameters[N]=R.textures[D.parameters[N]];else if(N=="shading")D.parameters[N]=
-D.parameters[N]=="flat"?THREE.FlatShading:THREE.SmoothShading;else if(N=="blending")D.parameters[N]=THREE[D.parameters[N]]?THREE[D.parameters[N]]:THREE.NormalBlending;else if(N=="combine")D.parameters[N]=D.parameters[N]=="MixOperation"?THREE.MixOperation:THREE.MultiplyOperation;else if(N=="vertexColors")if(D.parameters[N]=="face")D.parameters[N]=THREE.FaceColors;else if(D.parameters[N])D.parameters[N]=THREE.VertexColors;if(D.parameters.opacity!==void 0&&D.parameters.opacity<1)D.parameters.transparent=
-!0;if(D.parameters.normalMap){t=THREE.ShaderUtils.lib.normal;b=THREE.UniformsUtils.clone(t.uniforms);K=D.parameters.color;S=D.parameters.specular;B=D.parameters.ambient;C=D.parameters.shininess;b.tNormal.texture=R.textures[D.parameters.normalMap];if(D.parameters.normalMapFactor)b.uNormalScale.value=D.parameters.normalMapFactor;if(D.parameters.map)b.tDiffuse.texture=D.parameters.map,b.enableDiffuse.value=!0;if(D.parameters.lightMap)b.tAO.texture=D.parameters.lightMap,b.enableAO.value=!0;if(D.parameters.specularMap)b.tSpecular.texture=
-R.textures[D.parameters.specularMap],b.enableSpecular.value=!0;b.uDiffuseColor.value.setHex(K);b.uSpecularColor.value.setHex(S);b.uAmbientColor.value.setHex(B);b.uShininess.value=C;if(D.parameters.opacity)b.uOpacity.value=D.parameters.opacity;D=new THREE.MeshShaderMaterial({fragmentShader:t.fragmentShader,vertexShader:t.vertexShader,uniforms:b,lights:!0,fog:!0})}else D=new THREE[D.type](D.parameters);R.materials[x]=D}n();e.callbackSync(R)}},constructor:THREE.SceneLoader};THREE.UTF8Loader=function(){};
-THREE.UTF8Loader.prototype=new THREE.UTF8Loader;THREE.UTF8Loader.prototype.constructor=THREE.UTF8Loader;
-THREE.UTF8Loader.prototype.load=function(b){var c=new XMLHttpRequest,e=b.model,f=b.callback,h=b.scale!==void 0?b.scale:1,m=b.offsetX!==void 0?b.offsetX:0,k=b.offsetY!==void 0?b.offsetY:0,n=b.offsetZ!==void 0?b.offsetZ:0;c.onreadystatechange=function(){c.readyState==4?c.status==200||c.status==0?THREE.UTF8Loader.prototype.createModel(c.responseText,f,h,m,k,n):alert("Couldn't load ["+e+"] ["+c.status+"]"):c.readyState!=3&&c.readyState==2&&c.getResponseHeader("Content-Length")};c.open("GET",e,!0);c.send(null)};
-THREE.UTF8Loader.prototype.decompressMesh=function(b){var c=b.charCodeAt(0);c>=57344&&(c-=2048);c++;for(var e=new Float32Array(8*c),f=1,h=0;h<8;h++){for(var m=0,k=0;k<c;++k){var n=b.charCodeAt(k+f);m+=n>>1^-(n&1);e[8*k+h]=m}f+=c}c=b.length-f;m=new Uint16Array(c);for(h=k=0;h<c;h++)n=b.charCodeAt(h+f),m[h]=k-n,n==0&&k++;return[e,m]};
-THREE.UTF8Loader.prototype.createModel=function(b,c,e,f,h,m){var k=function(){var c=this;c.materials=[];THREE.Geometry.call(this);var k=THREE.UTF8Loader.prototype.decompressMesh(b),p=[],v=[];(function(b,k,p){for(var u,v,B,D=b.length;p<D;p+=k)u=b[p],v=b[p+1],B=b[p+2],u=u/16383*e,v=v/16383*e,B=B/16383*e,u+=f,v+=h,B+=m,c.vertices.push(new THREE.Vertex(new THREE.Vector3(u,v,B)))})(k[0],8,0);(function(b,c,e){for(var f,h,k=b.length;e<k;e+=c)f=b[e],h=b[e+1],f/=1023,h/=1023,v.push(f,h)})(k[0],8,3);(function(b,
-c,e){for(var f,h,k,m=b.length;e<m;e+=c)f=b[e],h=b[e+1],k=b[e+2],f=(f-512)/511,h=(h-512)/511,k=(k-512)/511,p.push(f,h,k)})(k[0],8,5);(function(b){var e,f,h,k,m,u,G,H,E,N=b.length;for(e=0;e<N;e+=3){f=b[e];h=b[e+1];k=b[e+2];m=c;H=f;E=h;u=k;G=f;var F=h,I=k,C=m.materials[0],K=p[F*3],U=p[F*3+1],F=p[F*3+2],L=p[I*3],O=p[I*3+1],I=p[I*3+2];G=new THREE.Vector3(p[G*3],p[G*3+1],p[G*3+2]);F=new THREE.Vector3(K,U,F);I=new THREE.Vector3(L,O,I);m.faces.push(new THREE.Face3(H,E,u,[G,F,I],null,C));m=v[f*2];f=v[f*2+
-1];u=v[h*2];G=v[h*2+1];H=v[k*2];E=v[k*2+1];k=c.faceVertexUvs[0];h=u;u=G;G=[];G.push(new THREE.UV(m,f));G.push(new THREE.UV(h,u));G.push(new THREE.UV(H,E));k.push(G)}})(k[1]);this.computeCentroids();this.computeFaceNormals()};k.prototype=new THREE.Geometry;k.prototype.constructor=k;c(new k)};
-THREE.MarchingCubes=function(b,c){THREE.Object3D.call(this);this.materials=c instanceof Array?c:[c];this.init=function(b){this.isolation=80;this.size=b;this.size2=this.size*this.size;this.size3=this.size2*this.size;this.halfsize=this.size/2;this.delta=2/this.size;this.yd=this.size;this.zd=this.size2;this.field=new Float32Array(this.size3);this.normal_cache=new Float32Array(this.size3*3);this.vlist=new Float32Array(36);this.nlist=new Float32Array(36);this.firstDraw=!0;this.maxCount=4096;this.count=
-0;this.hasNormal=this.hasPos=!1;this.positionArray=new Float32Array(this.maxCount*3);this.normalArray=new Float32Array(this.maxCount*3)};this.lerp=function(b,c,h){return b+(c-b)*h};this.VIntX=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n+k*this.delta;c[m+1]=u;c[m+2]=p;h[m]=this.lerp(v[b],v[b+3],k);h[m+1]=this.lerp(v[b+1],v[b+4],k);h[m+2]=this.lerp(v[b+2],v[b+5],k)};this.VIntY=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u+k*this.delta;c[m+
-2]=p;c=b+this.yd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.VIntZ=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u;c[m+2]=p+k*this.delta;c=b+this.zd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.compNorm=function(b){var c=b*3;this.normal_cache[c]==0&&(this.normal_cache[c]=this.field[b-1]-this.field[b+1],this.normal_cache[c+1]=this.field[b-this.yd]-this.field[b+
-this.yd],this.normal_cache[c+2]=this.field[b-this.zd]-this.field[b+this.zd])};this.polygonize=function(b,c,h,m,k,n){var u=m+1,p=m+this.yd,v=m+this.zd,t=u+this.yd,x=u+this.zd,w=m+this.yd+this.zd,z=u+this.yd+this.zd,y=0,B=this.field[m],D=this.field[u],G=this.field[p],H=this.field[t],E=this.field[v],N=this.field[x],F=this.field[w],I=this.field[z];B<k&&(y|=1);D<k&&(y|=2);G<k&&(y|=8);H<k&&(y|=4);E<k&&(y|=16);N<k&&(y|=32);F<k&&(y|=128);I<k&&(y|=64);var C=THREE.edgeTable[y];if(C==0)return 0;var K=this.delta,
-U=b+K,L=c+K,K=h+K;C&1&&(this.compNorm(m),this.compNorm(u),this.VIntX(m*3,this.vlist,this.nlist,0,k,b,c,h,B,D));C&2&&(this.compNorm(u),this.compNorm(t),this.VIntY(u*3,this.vlist,this.nlist,3,k,U,c,h,D,H));C&4&&(this.compNorm(p),this.compNorm(t),this.VIntX(p*3,this.vlist,this.nlist,6,k,b,L,h,G,H));C&8&&(this.compNorm(m),this.compNorm(p),this.VIntY(m*3,this.vlist,this.nlist,9,k,b,c,h,B,G));C&16&&(this.compNorm(v),this.compNorm(x),this.VIntX(v*3,this.vlist,this.nlist,12,k,b,c,K,E,N));C&32&&(this.compNorm(x),
-this.compNorm(z),this.VIntY(x*3,this.vlist,this.nlist,15,k,U,c,K,N,I));C&64&&(this.compNorm(w),this.compNorm(z),this.VIntX(w*3,this.vlist,this.nlist,18,k,b,L,K,F,I));C&128&&(this.compNorm(v),this.compNorm(w),this.VIntY(v*3,this.vlist,this.nlist,21,k,b,c,K,E,F));C&256&&(this.compNorm(m),this.compNorm(v),this.VIntZ(m*3,this.vlist,this.nlist,24,k,b,c,h,B,E));C&512&&(this.compNorm(u),this.compNorm(x),this.VIntZ(u*3,this.vlist,this.nlist,27,k,U,c,h,D,N));C&1024&&(this.compNorm(t),this.compNorm(z),this.VIntZ(t*
-3,this.vlist,this.nlist,30,k,U,L,h,H,I));C&2048&&(this.compNorm(p),this.compNorm(w),this.VIntZ(p*3,this.vlist,this.nlist,33,k,b,L,h,G,F));y<<=4;for(k=m=0;THREE.triTable[y+k]!=-1;)b=y+k,c=b+1,h=b+2,this.posnormtriv(this.vlist,this.nlist,3*THREE.triTable[b],3*THREE.triTable[c],3*THREE.triTable[h],n),k+=3,m++;return m};this.posnormtriv=function(b,c,h,m,k,n){var u=this.count*3;this.positionArray[u]=b[h];this.positionArray[u+1]=b[h+1];this.positionArray[u+2]=b[h+2];this.positionArray[u+3]=b[m];this.positionArray[u+
-4]=b[m+1];this.positionArray[u+5]=b[m+2];this.positionArray[u+6]=b[k];this.positionArray[u+7]=b[k+1];this.positionArray[u+8]=b[k+2];this.normalArray[u]=c[h];this.normalArray[u+1]=c[h+1];this.normalArray[u+2]=c[h+2];this.normalArray[u+3]=c[m];this.normalArray[u+4]=c[m+1];this.normalArray[u+5]=c[m+2];this.normalArray[u+6]=c[k];this.normalArray[u+7]=c[k+1];this.normalArray[u+8]=c[k+2];this.hasNormal=this.hasPos=!0;this.count+=3;this.count>=this.maxCount-3&&n(this)};this.begin=function(){this.count=0;
-this.hasNormal=this.hasPos=!1};this.end=function(b){if(this.count!=0){for(var c=this.count*3;c<this.positionArray.length;c++)this.positionArray[c]=0;b(this)}};this.addBall=function(b,c,h,m,k){var n=this.size*Math.sqrt(m/k),u=h*this.size,p=c*this.size,v=b*this.size,t=Math.floor(u-n);t<1&&(t=1);u=Math.floor(u+n);u>this.size-1&&(u=this.size-1);var x=Math.floor(p-n);x<1&&(x=1);p=Math.floor(p+n);p>this.size-1&&(p=this.size-1);var w=Math.floor(v-n);w<1&&(w=1);n=Math.floor(v+n);n>this.size-1&&(n=this.size-
-1);for(var z,y,B,D,G,H;t<u;t++){v=this.size2*t;y=t/this.size-h;G=y*y;for(y=x;y<p;y++){B=v+this.size*y;z=y/this.size-c;H=z*z;for(z=w;z<n;z++)D=z/this.size-b,D=m/(1.0E-6+D*D+H+G)-k,D>0&&(this.field[B+z]+=D)}}};this.addPlaneX=function(b,c){var h,m,k,n,u,p=this.size,v=this.yd,t=this.zd,x=this.field,w=p*Math.sqrt(b/c);w>p&&(w=p);for(h=0;h<w;h++)if(m=h/p,m*=m,n=b/(1.0E-4+m)-c,n>0)for(m=0;m<p;m++){u=h+m*v;for(k=0;k<p;k++)x[t*k+u]+=n}};this.addPlaneY=function(b,c){var h,m,k,n,u,p,v=this.size,t=this.yd,x=
-this.zd,w=this.field,z=v*Math.sqrt(b/c);z>v&&(z=v);for(m=0;m<z;m++)if(h=m/v,h*=h,n=b/(1.0E-4+h)-c,n>0){u=m*t;for(h=0;h<v;h++){p=u+h;for(k=0;k<v;k++)w[x*k+p]+=n}}};this.addPlaneZ=function(b,c){var h,m,k,n,u,p;size=this.size;yd=this.yd;zd=this.zd;field=this.field;dist=size*Math.sqrt(b/c);dist>size&&(dist=size);for(k=0;k<dist;k++)if(h=k/size,h*=h,n=b/(1.0E-4+h)-c,n>0){u=zd*k;for(m=0;m<size;m++){p=u+m*yd;for(h=0;h<size;h++)field[p+h]+=n}}};this.reset=function(){var b;for(b=0;b<this.size3;b++)this.normal_cache[b*
-3]=0,this.field[b]=0};this.render=function(b){this.begin();var c,h,m,k,n,u,p,v,t,x=this.size-2;for(k=1;k<x;k++){t=this.size2*k;p=(k-this.halfsize)/this.halfsize;for(m=1;m<x;m++){v=t+this.size*m;u=(m-this.halfsize)/this.halfsize;for(h=1;h<x;h++)n=(h-this.halfsize)/this.halfsize,c=v+h,this.polygonize(n,u,p,c,this.isolation,b)}}this.end(b)};this.generateGeometry=function(){var b=0,c=new THREE.Geometry,h=[];this.render(function(m){var k,n,u,p,v,t,x,w;for(k=0;k<m.count;k++)x=k*3,v=x+1,w=x+2,n=m.positionArray[x],
-u=m.positionArray[v],p=m.positionArray[w],t=new THREE.Vector3(n,u,p),n=m.normalArray[x],u=m.normalArray[v],p=m.normalArray[w],x=new THREE.Vector3(n,u,p),x.normalize(),v=new THREE.Vertex(t),c.vertices.push(v),h.push(x);nfaces=m.count/3;for(k=0;k<nfaces;k++)x=(b+k)*3,v=x+1,w=x+2,t=h[x],n=h[v],u=h[w],x=new THREE.Face3(x,v,w,[t,n,u]),c.faces.push(x);b+=nfaces;m.count=0});return c};this.init(b)};THREE.MarchingCubes.prototype=new THREE.Object3D;THREE.MarchingCubes.prototype.constructor=THREE.MarchingCubes;
-THREE.edgeTable=new Int32Array([0,265,515,778,1030,1295,1541,1804,2060,2309,2575,2822,3082,3331,3593,3840,400,153,915,666,1430,1183,1941,1692,2460,2197,2975,2710,3482,3219,3993,3728,560,825,51,314,1590,1855,1077,1340,2620,2869,2111,2358,3642,3891,3129,3376,928,681,419,170,1958,1711,1445,1196,2988,2725,2479,2214,4010,3747,3497,3232,1120,1385,1635,1898,102,367,613,876,3180,3429,3695,3942,2154,2403,2665,2912,1520,1273,2035,1786,502,255,1013,764,3580,3317,4095,3830,2554,2291,3065,2800,1616,1881,1107,
-1370,598,863,85,348,3676,3925,3167,3414,2650,2899,2137,2384,1984,1737,1475,1226,966,719,453,204,4044,3781,3535,3270,3018,2755,2505,2240,2240,2505,2755,3018,3270,3535,3781,4044,204,453,719,966,1226,1475,1737,1984,2384,2137,2899,2650,3414,3167,3925,3676,348,85,863,598,1370,1107,1881,1616,2800,3065,2291,2554,3830,4095,3317,3580,764,1013,255,502,1786,2035,1273,1520,2912,2665,2403,2154,3942,3695,3429,3180,876,613,367,102,1898,1635,1385,1120,3232,3497,3747,4010,2214,2479,2725,2988,1196,1445,1711,1958,170,
-419,681,928,3376,3129,3891,3642,2358,2111,2869,2620,1340,1077,1855,1590,314,51,825,560,3728,3993,3219,3482,2710,2975,2197,2460,1692,1941,1183,1430,666,915,153,400,3840,3593,3331,3082,2822,2575,2309,2060,1804,1541,1295,1030,778,515,265,0]);
-THREE.triTable=new Int32Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,9,8,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,2,10,0,2,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,8,3,2,10,8,10,9,8,-1,-1,-1,-1,-1,-1,-1,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,8,11,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,11,-1,-1,-1,-1,-1,
--1,-1,-1,-1,-1,1,11,2,1,9,11,9,8,11,-1,-1,-1,-1,-1,-1,-1,3,10,1,11,10,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,10,1,0,8,10,8,11,10,-1,-1,-1,-1,-1,-1,-1,3,9,0,3,11,9,11,10,9,-1,-1,-1,-1,-1,-1,-1,9,8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,7,3,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,1,9,4,7,1,7,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,4,7,3,0,4,1,2,10,-1,-1,-1,-1,-1,-1,-1,9,2,10,9,0,2,8,4,7,
--1,-1,-1,-1,-1,-1,-1,2,10,9,2,9,7,2,7,3,7,9,4,-1,-1,-1,-1,8,4,7,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,4,7,11,2,4,2,0,4,-1,-1,-1,-1,-1,-1,-1,9,0,1,8,4,7,2,3,11,-1,-1,-1,-1,-1,-1,-1,4,7,11,9,4,11,9,11,2,9,2,1,-1,-1,-1,-1,3,10,1,3,11,10,7,8,4,-1,-1,-1,-1,-1,-1,-1,1,11,10,1,4,11,1,0,4,7,11,4,-1,-1,-1,-1,4,7,8,9,0,11,9,11,10,11,0,3,-1,-1,-1,-1,4,7,11,4,11,9,9,11,10,-1,-1,-1,-1,-1,-1,-1,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,5,4,1,5,0,-1,-1,-1,-1,-1,-1,
--1,-1,-1,-1,8,5,4,8,3,5,3,1,5,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,10,4,9,5,-1,-1,-1,-1,-1,-1,-1,5,2,10,5,4,2,4,0,2,-1,-1,-1,-1,-1,-1,-1,2,10,5,3,2,5,3,5,4,3,4,8,-1,-1,-1,-1,9,5,4,2,3,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,0,8,11,4,9,5,-1,-1,-1,-1,-1,-1,-1,0,5,4,0,1,5,2,3,11,-1,-1,-1,-1,-1,-1,-1,2,1,5,2,5,8,2,8,11,4,8,5,-1,-1,-1,-1,10,3,11,10,1,3,9,5,4,-1,-1,-1,-1,-1,-1,-1,4,9,5,0,8,1,8,10,1,8,11,10,-1,-1,-1,-1,5,4,0,5,0,11,5,11,10,11,0,3,-1,-1,-1,-1,5,4,8,5,
-8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,9,7,8,5,7,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,3,0,9,5,3,5,7,3,-1,-1,-1,-1,-1,-1,-1,0,7,8,0,1,7,1,5,7,-1,-1,-1,-1,-1,-1,-1,1,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,7,8,9,5,7,10,1,2,-1,-1,-1,-1,-1,-1,-1,10,1,2,9,5,0,5,3,0,5,7,3,-1,-1,-1,-1,8,0,2,8,2,5,8,5,7,10,5,2,-1,-1,-1,-1,2,10,5,2,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,7,9,5,7,8,9,3,11,2,-1,-1,-1,-1,-1,-1,-1,9,5,7,9,7,2,9,2,0,2,7,11,-1,-1,-1,-1,2,3,11,0,1,8,1,7,8,1,5,7,-1,-1,-1,-1,11,2,1,11,1,7,7,1,5,-1,-1,-1,-1,-1,-1,
--1,9,5,8,8,5,7,10,1,3,10,3,11,-1,-1,-1,-1,5,7,0,5,0,9,7,11,0,1,0,10,11,10,0,-1,11,10,0,11,0,3,10,5,0,8,0,7,5,7,0,-1,11,10,5,7,11,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,0,1,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,1,9,8,5,10,6,-1,-1,-1,-1,-1,-1,-1,1,6,5,2,6,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,6,5,1,2,6,3,0,8,-1,-1,-1,-1,-1,-1,-1,9,6,5,9,0,6,0,2,6,-1,-1,-1,-1,-1,-1,-1,5,9,8,5,8,2,5,2,6,3,2,8,-1,-1,-1,-1,2,3,11,10,6,
-5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,0,8,11,2,0,10,6,5,-1,-1,-1,-1,-1,-1,-1,0,1,9,2,3,11,5,10,6,-1,-1,-1,-1,-1,-1,-1,5,10,6,1,9,2,9,11,2,9,8,11,-1,-1,-1,-1,6,3,11,6,5,3,5,1,3,-1,-1,-1,-1,-1,-1,-1,0,8,11,0,11,5,0,5,1,5,11,6,-1,-1,-1,-1,3,11,6,0,3,6,0,6,5,0,5,9,-1,-1,-1,-1,6,5,9,6,9,11,11,9,8,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,4,7,3,6,5,10,-1,-1,-1,-1,-1,-1,-1,1,9,0,5,10,6,8,4,7,-1,-1,-1,-1,-1,-1,-1,10,6,5,1,9,7,1,7,3,7,9,4,-1,-1,-1,-1,6,1,2,6,5,1,4,7,8,-1,-1,-1,-1,
--1,-1,-1,1,2,5,5,2,6,3,0,4,3,4,7,-1,-1,-1,-1,8,4,7,9,0,5,0,6,5,0,2,6,-1,-1,-1,-1,7,3,9,7,9,4,3,2,9,5,9,6,2,6,9,-1,3,11,2,7,8,4,10,6,5,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,2,4,2,0,2,7,11,-1,-1,-1,-1,0,1,9,4,7,8,2,3,11,5,10,6,-1,-1,-1,-1,9,2,1,9,11,2,9,4,11,7,11,4,5,10,6,-1,8,4,7,3,11,5,3,5,1,5,11,6,-1,-1,-1,-1,5,1,11,5,11,6,1,0,11,7,11,4,0,4,11,-1,0,5,9,0,6,5,0,3,6,11,6,3,8,4,7,-1,6,5,9,6,9,11,4,7,9,7,11,9,-1,-1,-1,-1,10,4,9,6,4,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,10,6,4,9,10,0,8,3,-1,-1,-1,-1,-1,-1,-1,
-10,0,1,10,6,0,6,4,0,-1,-1,-1,-1,-1,-1,-1,8,3,1,8,1,6,8,6,4,6,1,10,-1,-1,-1,-1,1,4,9,1,2,4,2,6,4,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,9,2,4,9,2,6,4,-1,-1,-1,-1,0,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,3,2,8,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,10,4,9,10,6,4,11,2,3,-1,-1,-1,-1,-1,-1,-1,0,8,2,2,8,11,4,9,10,4,10,6,-1,-1,-1,-1,3,11,2,0,1,6,0,6,4,6,1,10,-1,-1,-1,-1,6,4,1,6,1,10,4,8,1,2,1,11,8,11,1,-1,9,6,4,9,3,6,9,1,3,11,6,3,-1,-1,-1,-1,8,11,1,8,1,0,11,6,1,9,1,4,6,4,1,-1,3,11,6,3,6,0,0,6,4,-1,-1,-1,-1,-1,-1,-1,
-6,4,8,11,6,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,10,6,7,8,10,8,9,10,-1,-1,-1,-1,-1,-1,-1,0,7,3,0,10,7,0,9,10,6,7,10,-1,-1,-1,-1,10,6,7,1,10,7,1,7,8,1,8,0,-1,-1,-1,-1,10,6,7,10,7,1,1,7,3,-1,-1,-1,-1,-1,-1,-1,1,2,6,1,6,8,1,8,9,8,6,7,-1,-1,-1,-1,2,6,9,2,9,1,6,7,9,0,9,3,7,3,9,-1,7,8,0,7,0,6,6,0,2,-1,-1,-1,-1,-1,-1,-1,7,3,2,6,7,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,11,10,6,8,10,8,9,8,6,7,-1,-1,-1,-1,2,0,7,2,7,11,0,9,7,6,7,10,9,10,7,-1,1,8,0,1,7,8,1,10,7,6,7,10,2,3,11,-1,11,2,1,11,1,7,10,6,1,6,7,1,-1,-1,-1,-1,
-8,9,6,8,6,7,9,1,6,11,6,3,1,3,6,-1,0,9,1,11,6,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,0,7,0,6,3,11,0,11,6,0,-1,-1,-1,-1,7,11,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,1,9,8,3,1,11,7,6,-1,-1,-1,-1,-1,-1,-1,10,1,2,6,11,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,3,0,8,6,11,7,-1,-1,-1,-1,-1,-1,-1,2,9,0,2,10,9,6,11,7,-1,-1,-1,-1,-1,-1,-1,6,11,7,2,10,3,10,8,3,10,9,8,-1,-1,-1,-1,7,
-2,3,6,2,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,8,7,6,0,6,2,0,-1,-1,-1,-1,-1,-1,-1,2,7,6,2,3,7,0,1,9,-1,-1,-1,-1,-1,-1,-1,1,6,2,1,8,6,1,9,8,8,7,6,-1,-1,-1,-1,10,7,6,10,1,7,1,3,7,-1,-1,-1,-1,-1,-1,-1,10,7,6,1,7,10,1,8,7,1,0,8,-1,-1,-1,-1,0,3,7,0,7,10,0,10,9,6,10,7,-1,-1,-1,-1,7,6,10,7,10,8,8,10,9,-1,-1,-1,-1,-1,-1,-1,6,8,4,11,8,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,6,11,3,0,6,0,4,6,-1,-1,-1,-1,-1,-1,-1,8,6,11,8,4,6,9,0,1,-1,-1,-1,-1,-1,-1,-1,9,4,6,9,6,3,9,3,1,11,3,6,-1,-1,-1,-1,6,8,4,6,11,8,2,10,1,-1,-1,-1,
--1,-1,-1,-1,1,2,10,3,0,11,0,6,11,0,4,6,-1,-1,-1,-1,4,11,8,4,6,11,0,2,9,2,10,9,-1,-1,-1,-1,10,9,3,10,3,2,9,4,3,11,3,6,4,6,3,-1,8,2,3,8,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,0,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,4,2,4,6,4,3,8,-1,-1,-1,-1,1,9,4,1,4,2,2,4,6,-1,-1,-1,-1,-1,-1,-1,8,1,3,8,6,1,8,4,6,6,10,1,-1,-1,-1,-1,10,1,0,10,0,6,6,0,4,-1,-1,-1,-1,-1,-1,-1,4,6,3,4,3,8,6,10,3,0,3,9,10,9,3,-1,10,9,4,6,10,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,5,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,5,11,7,6,
--1,-1,-1,-1,-1,-1,-1,5,0,1,5,4,0,7,6,11,-1,-1,-1,-1,-1,-1,-1,11,7,6,8,3,4,3,5,4,3,1,5,-1,-1,-1,-1,9,5,4,10,1,2,7,6,11,-1,-1,-1,-1,-1,-1,-1,6,11,7,1,2,10,0,8,3,4,9,5,-1,-1,-1,-1,7,6,11,5,4,10,4,2,10,4,0,2,-1,-1,-1,-1,3,4,8,3,5,4,3,2,5,10,5,2,11,7,6,-1,7,2,3,7,6,2,5,4,9,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,6,0,6,2,6,8,7,-1,-1,-1,-1,3,6,2,3,7,6,1,5,0,5,4,0,-1,-1,-1,-1,6,2,8,6,8,7,2,1,8,4,8,5,1,5,8,-1,9,5,4,10,1,6,1,7,6,1,3,7,-1,-1,-1,-1,1,6,10,1,7,6,1,0,7,8,7,0,9,5,4,-1,4,0,10,4,10,5,0,3,10,6,10,7,3,7,10,
--1,7,6,10,7,10,8,5,4,10,4,8,10,-1,-1,-1,-1,6,9,5,6,11,9,11,8,9,-1,-1,-1,-1,-1,-1,-1,3,6,11,0,6,3,0,5,6,0,9,5,-1,-1,-1,-1,0,11,8,0,5,11,0,1,5,5,6,11,-1,-1,-1,-1,6,11,3,6,3,5,5,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,11,9,11,8,11,5,6,-1,-1,-1,-1,0,11,3,0,6,11,0,9,6,5,6,9,1,2,10,-1,11,8,5,11,5,6,8,0,5,10,5,2,0,2,5,-1,6,11,3,6,3,5,2,10,3,10,5,3,-1,-1,-1,-1,5,8,9,5,2,8,5,6,2,3,8,2,-1,-1,-1,-1,9,5,6,9,6,0,0,6,2,-1,-1,-1,-1,-1,-1,-1,1,5,8,1,8,0,5,6,8,3,8,2,6,2,8,-1,1,5,6,2,1,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,3,6,1,6,10,3,8,6,5,6,9,8,9,6,-1,10,1,0,10,0,6,9,5,0,5,6,0,-1,-1,-1,-1,0,3,8,5,6,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,5,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,7,5,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,11,7,5,8,3,0,-1,-1,-1,-1,-1,-1,-1,5,11,7,5,10,11,1,9,0,-1,-1,-1,-1,-1,-1,-1,10,7,5,10,11,7,9,8,1,8,3,1,-1,-1,-1,-1,11,1,2,11,7,1,7,5,1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,7,1,7,5,7,2,11,-1,-1,-1,-1,9,7,5,9,2,7,9,0,2,2,11,7,-1,-1,-1,-1,7,5,2,7,2,11,5,9,2,3,2,8,9,8,2,-1,2,5,10,2,3,5,3,7,5,-1,-1,
--1,-1,-1,-1,-1,8,2,0,8,5,2,8,7,5,10,2,5,-1,-1,-1,-1,9,0,1,5,10,3,5,3,7,3,10,2,-1,-1,-1,-1,9,8,2,9,2,1,8,7,2,10,2,5,7,5,2,-1,1,3,5,3,7,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,7,0,7,1,1,7,5,-1,-1,-1,-1,-1,-1,-1,9,0,3,9,3,5,5,3,7,-1,-1,-1,-1,-1,-1,-1,9,8,7,5,9,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,8,4,5,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,5,0,4,5,11,0,5,10,11,11,3,0,-1,-1,-1,-1,0,1,9,8,4,10,8,10,11,10,4,5,-1,-1,-1,-1,10,11,4,10,4,5,11,3,4,9,4,1,3,1,4,-1,2,5,1,2,8,5,2,11,8,4,5,8,-1,-1,-1,-1,0,4,11,0,11,3,4,5,11,
-2,11,1,5,1,11,-1,0,2,5,0,5,9,2,11,5,4,5,8,11,8,5,-1,9,4,5,2,11,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,5,10,3,5,2,3,4,5,3,8,4,-1,-1,-1,-1,5,10,2,5,2,4,4,2,0,-1,-1,-1,-1,-1,-1,-1,3,10,2,3,5,10,3,8,5,4,5,8,0,1,9,-1,5,10,2,5,2,4,1,9,2,9,4,2,-1,-1,-1,-1,8,4,5,8,5,3,3,5,1,-1,-1,-1,-1,-1,-1,-1,0,4,5,1,0,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,5,8,5,3,9,0,5,0,3,5,-1,-1,-1,-1,9,4,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,11,7,4,9,11,9,10,11,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,7,9,11,7,9,10,11,-1,-1,-1,-1,1,10,11,1,11,
-4,1,4,0,7,4,11,-1,-1,-1,-1,3,1,4,3,4,8,1,10,4,7,4,11,10,11,4,-1,4,11,7,9,11,4,9,2,11,9,1,2,-1,-1,-1,-1,9,7,4,9,11,7,9,1,11,2,11,1,0,8,3,-1,11,7,4,11,4,2,2,4,0,-1,-1,-1,-1,-1,-1,-1,11,7,4,11,4,2,8,3,4,3,2,4,-1,-1,-1,-1,2,9,10,2,7,9,2,3,7,7,4,9,-1,-1,-1,-1,9,10,7,9,7,4,10,2,7,8,7,0,2,0,7,-1,3,7,10,3,10,2,7,4,10,1,10,0,4,0,10,-1,1,10,2,8,7,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,7,1,3,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,0,8,1,8,7,1,-1,-1,-1,-1,4,0,3,7,4,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,8,7,-1,-1,-1,
--1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,11,9,10,-1,-1,-1,-1,-1,-1,-1,0,1,10,0,10,8,8,10,11,-1,-1,-1,-1,-1,-1,-1,3,1,10,11,3,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,11,1,11,9,9,11,8,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,1,2,9,2,11,9,-1,-1,-1,-1,0,2,11,8,0,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,10,8,9,-1,-1,-1,-1,-1,-1,-1,9,10,2,0,9,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,0,1,8,1,10,8,-1,-1,-1,-1,1,10,
-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,8,9,1,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,9,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,3,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);
-THREE.Trident=function(b){function c(c){return new THREE.Mesh(new THREE.CylinderGeometry(30,0.1,b.length/20,b.length/5),new THREE.MeshBasicMaterial({color:c}))}function e(b,c){var e=new THREE.Geometry;e.vertices=[new THREE.Vertex,new THREE.Vertex(b)];return new THREE.Line(e,new THREE.LineBasicMaterial({color:c}))}THREE.Object3D.call(this);var f=Math.PI/2,h,b=b||THREE.Trident.defaultParams;if(b!==THREE.Trident.defaultParams)for(h in THREE.Trident.defaultParams)b.hasOwnProperty(h)||(b[h]=THREE.Trident.defaultParams[h]);
-this.scale=new THREE.Vector3(b.scale,b.scale,b.scale);this.addChild(e(new THREE.Vector3(b.length,0,0),b.xAxisColor));this.addChild(e(new THREE.Vector3(0,b.length,0),b.yAxisColor));this.addChild(e(new THREE.Vector3(0,0,b.length),b.zAxisColor));if(b.showArrows)h=c(b.xAxisColor),h.rotation.y=-f,h.position.x=b.length,this.addChild(h),h=c(b.yAxisColor),h.rotation.x=f,h.position.y=b.length,this.addChild(h),h=c(b.zAxisColor),h.rotation.y=Math.PI,h.position.z=b.length,this.addChild(h)};
-THREE.Trident.prototype=new THREE.Object3D;THREE.Trident.prototype.constructor=THREE.Trident;THREE.Trident.defaultParams={xAxisColor:16711680,yAxisColor:65280,zAxisColor:255,showArrows:!0,length:100,scale:1};THREE.PlaneCollider=function(b,c){this.point=b;this.normal=c};THREE.SphereCollider=function(b,c){this.center=b;this.radius=c;this.radiusSq=c*c};THREE.BoxCollider=function(b,c){this.min=b;this.max=c;this.dynamic=!0;this.normal=new THREE.Vector3};
-THREE.MeshCollider=function(b,c){this.mesh=b;this.box=c;this.numFaces=this.mesh.geometry.faces.length;this.normal=new THREE.Vector3};THREE.CollisionSystem=function(){this.collisionNormal=new THREE.Vector3;this.colliders=[];this.hits=[]};THREE.Collisions=new THREE.CollisionSystem;THREE.CollisionSystem.prototype.merge=function(b){this.colliders=this.colliders.concat(b.colliders);this.hits=this.hits.concat(b.hits)};
-THREE.CollisionSystem.prototype.rayCastAll=function(b){b.direction.normalize();this.hits.length=0;var c,e,f,h,m=0;c=0;for(e=this.colliders.length;c<e;c++)if(h=this.colliders[c],f=this.rayCast(b,h),f<Number.MAX_VALUE)h.distance=f,f>m?this.hits.push(h):this.hits.unshift(h),m=f;return this.hits};
-THREE.CollisionSystem.prototype.rayCastNearest=function(b){var c=this.rayCastAll(b);if(c.length==0)return null;for(var e=0;c[e]instanceof THREE.MeshCollider;){var f=this.rayMesh(b,c[e]);if(f.dist<Number.MAX_VALUE){c[e].distance=f.dist;c[e].faceIndex=f.faceIndex;break}e++}if(e>c.length)return null;return c[e]};
-THREE.CollisionSystem.prototype.rayCast=function(b,c){if(c instanceof THREE.PlaneCollider)return this.rayPlane(b,c);else if(c instanceof THREE.SphereCollider)return this.raySphere(b,c);else if(c instanceof THREE.BoxCollider)return this.rayBox(b,c);else if(c instanceof THREE.MeshCollider&&c.box)return this.rayBox(b,c.box)};
-THREE.CollisionSystem.prototype.rayMesh=function(b,c){for(var e=this.makeRayLocal(b,c.mesh),f=Number.MAX_VALUE,h,m=0;m<c.numFaces;m++){var k=c.mesh.geometry.faces[m],n=c.mesh.geometry.vertices[k.a].position,u=c.mesh.geometry.vertices[k.b].position,p=c.mesh.geometry.vertices[k.c].position,v=k instanceof THREE.Face4?c.mesh.geometry.vertices[k.d].position:null;k instanceof THREE.Face3?(k=this.rayTriangle(e,n,u,p,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize())):
-k instanceof THREE.Face4&&(k=this.rayTriangle(e,n,u,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()),k=this.rayTriangle(e,u,p,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()))}return{dist:f,faceIndex:h}};
-THREE.CollisionSystem.prototype.rayTriangle=function(b,c,e,f,h,m,k){var n=THREE.CollisionSystem.__v1,u=THREE.CollisionSystem.__v2;m.set(0,0,0);n.sub(e,c);u.sub(f,e);m.cross(n,u);n=m.dot(b.direction);if(!(n<0))if(k.doubleSided||k.flipSided)m.multiplyScalar(-1),n*=-1;else return Number.MAX_VALUE;k=m.dot(c)-m.dot(b.origin);if(!(k<=0))return Number.MAX_VALUE;if(!(k>=n*h))return Number.MAX_VALUE;k/=n;n=THREE.CollisionSystem.__v3;n.copy(b.direction);n.multiplyScalar(k);n.addSelf(b.origin);Math.abs(m.x)>
-Math.abs(m.y)?Math.abs(m.x)>Math.abs(m.z)?(b=n.y-c.y,m=e.y-c.y,h=f.y-c.y,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y):Math.abs(m.y)>Math.abs(m.z)?(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y);c=m*f-e*h;if(c==0)return Number.MAX_VALUE;c=1/c;f=(b*f-n*h)*c;if(!(f>=0))return Number.MAX_VALUE;c*=m*n-e*b;if(!(c>=0))return Number.MAX_VALUE;if(!(1-f-c>=0))return Number.MAX_VALUE;return k};
-THREE.CollisionSystem.prototype.makeRayLocal=function(b,c){var e=THREE.CollisionSystem.__m;THREE.Matrix4.makeInvert(c.matrixWorld,e);var f=THREE.CollisionSystem.__r;f.origin.copy(b.origin);f.direction.copy(b.direction);e.multiplyVector3(f.origin);e.rotateAxis(f.direction);f.direction.normalize();return f};
-THREE.CollisionSystem.prototype.rayBox=function(b,c){var e;c.dynamic&&c.mesh&&c.mesh.matrixWorld?e=this.makeRayLocal(b,c.mesh):(e=THREE.CollisionSystem.__r,e.origin.copy(b.origin),e.direction.copy(b.direction));var f=0,h=0,m=0,k=0,n=0,u=0,p=!0;e.origin.x<c.min.x?(f=c.min.x-e.origin.x,f/=e.direction.x,p=!1,k=-1):e.origin.x>c.max.x&&(f=c.max.x-e.origin.x,f/=e.direction.x,p=!1,k=1);e.origin.y<c.min.y?(h=c.min.y-e.origin.y,h/=e.direction.y,p=!1,n=-1):e.origin.y>c.max.y&&(h=c.max.y-e.origin.y,h/=e.direction.y,
-p=!1,n=1);e.origin.z<c.min.z?(m=c.min.z-e.origin.z,m/=e.direction.z,p=!1,u=-1):e.origin.z>c.max.z&&(m=c.max.z-e.origin.z,m/=e.direction.z,p=!1,u=1);if(p)return-1;p=0;h>f&&(p=1,f=h);m>f&&(p=2,f=m);switch(p){case 0:n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(k,0,0);break;case 1:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*
-f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(0,n,0);break;case 2:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;c.normal.set(0,0,u)}return f};THREE.CollisionSystem.prototype.rayPlane=function(b,c){var e=b.direction.dot(c.normal),f=c.point.dot(c.normal);if(e<0)e=(f-b.origin.dot(c.normal))/e;else return Number.MAX_VALUE;return e>0?e:Number.MAX_VALUE};
-THREE.CollisionSystem.prototype.raySphere=function(b,c){var e=c.center.clone().subSelf(b.origin);if(e.lengthSq<c.radiusSq)return-1;var f=e.dot(b.direction.clone());if(f<=0)return Number.MAX_VALUE;e=c.radiusSq-(e.lengthSq()-f*f);if(e>=0)return Math.abs(f)-Math.sqrt(e);return Number.MAX_VALUE};THREE.CollisionSystem.__v1=new THREE.Vector3;THREE.CollisionSystem.__v2=new THREE.Vector3;THREE.CollisionSystem.__v3=new THREE.Vector3;THREE.CollisionSystem.__nr=new THREE.Vector3;THREE.CollisionSystem.__m=new THREE.Matrix4;
-THREE.CollisionSystem.__r=new THREE.Ray;THREE.CollisionUtils={};THREE.CollisionUtils.MeshOBB=function(b){b.geometry.computeBoundingBox();var c=b.geometry.boundingBox,e=new THREE.Vector3(c.x[0],c.y[0],c.z[0]),c=new THREE.Vector3(c.x[1],c.y[1],c.z[1]),e=new THREE.BoxCollider(e,c);e.mesh=b;return e};THREE.CollisionUtils.MeshAABB=function(b){var c=THREE.CollisionUtils.MeshOBB(b);c.min.addSelf(b.position);c.max.addSelf(b.position);c.dynamic=!1;return c};
-THREE.CollisionUtils.MeshColliderWBox=function(b){return new THREE.MeshCollider(b,THREE.CollisionUtils.MeshOBB(b))};
-if(THREE.WebGLRenderer)THREE.AnaglyphWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);var c=this,e=this.setSize,f=this.render,h=new THREE.Camera,m=new THREE.Camera,k=new THREE.Matrix4,n=new THREE.Matrix4,u,p,v;h.useTarget=m.useTarget=!1;h.matrixAutoUpdate=m.matrixAutoUpdate=!1;var b={minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat},t=new THREE.WebGLRenderTarget(512,512,b),x=new THREE.WebGLRenderTarget(512,512,b),w=new THREE.Camera(53,1,1,1E4);w.position.z=
-2;_material=new THREE.MeshShaderMaterial({uniforms:{mapLeft:{type:"t",value:0,texture:t},mapRight:{type:"t",value:1,texture:x}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, 1.0 - uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D mapLeft;\nuniform sampler2D mapRight;\nvarying vec2 vUv;\nvoid main() {\nvec4 colorL, colorR;\nvec2 uv = vUv;\ncolorL = texture2D( mapLeft, uv );\ncolorR = texture2D( mapRight, uv );\ngl_FragColor = vec4( colorL.g * 0.7 + colorL.b * 0.3, colorR.g, colorR.b, colorL.a + colorR.a ) * 1.1;\n}"});
-var z=new THREE.Scene;z.addObject(new THREE.Mesh(new THREE.PlaneGeometry(2,2),_material));this.setSize=function(b,f){e.call(c,b,f);t.width=b;t.height=f;x.width=b;x.height=f};this.render=function(b,e){e.update(null,!0);if(u!==e.aspect||p!==e.near||v!==e.fov){u=e.aspect;p=e.near;v=e.fov;var D=e.projectionMatrix.clone(),G=125/30*0.5,H=G*p/125,E=p*Math.tan(v*Math.PI/360),N;k.n14=G;n.n14=-G;G=-E*u+H;N=E*u+H;D.n11=2*p/(N-G);D.n13=(N+G)/(N-G);h.projectionMatrix=D.clone();G=-E*u-H;N=E*u-H;D.n11=2*p/(N-G);
-D.n13=(N+G)/(N-G);m.projectionMatrix=D.clone()}h.matrix=e.matrixWorld.clone().multiplySelf(n);h.update(null,!0);h.position.copy(e.position);h.near=p;h.far=e.far;f.call(c,b,h,t,!0);m.matrix=e.matrixWorld.clone().multiplySelf(k);m.update(null,!0);m.position.copy(e.position);m.near=p;m.far=e.far;f.call(c,b,m,x,!0);f.call(c,z,w)}};
-if(THREE.WebGLRenderer)THREE.CrosseyedWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);this.autoClear=!1;var c=this,e=this.setSize,f=this.render,h,m,k=new THREE.Camera,n=new THREE.Camera;c.separation=10;if(b&&b.separation!==void 0)c.separation=b.separation;(new THREE.Camera(53,window.innerWidth/2/window.innerHeight,1,1E4)).position.z=-10;this.setSize=function(b,f){e.call(c,b,f);h=b/2;m=f};this.render=function(b,e){this.clear();k.fov=e.fov;k.aspect=0.5*e.aspect;k.near=e.near;k.far=e.far;
-k.updateProjectionMatrix();k.position.copy(e.position);k.target.position.copy(e.target.position);k.translateX(c.separation);n.projectionMatrix=k.projectionMatrix;n.position.copy(e.position);n.target.position.copy(e.target.position);n.translateX(-c.separation);this.setViewport(0,0,h,m);f.call(c,b,k);this.setViewport(h,0,h,m);f.call(c,b,n,!1)}};
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.mp4 b/tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.mp4
deleted file mode 100644
index a9d2b979d41..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.mp4
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.ogv b/tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.ogv
deleted file mode 100644
index 50d59dfb38b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/support/green-at-15.ogv
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/support/static-cube.js b/tests/wpt/web-platform-tests/css/css-regions/elements/support/static-cube.js
deleted file mode 100644
index 10b045301c4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/support/static-cube.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// This source is the javascript needed to build a simple moving
-// cube in **three.js** based on this
-// [example](https://raw.github.com/mrdoob/three.js/r44/examples/canvas_geometry_cube.html)
-// It is the source about this [blog post](/blog/2011/08/06/lets-do-a-cube/).
-
-// ## Now lets start
-
-// declare a bunch of variable we will need later
-var container;
-var camera, scene, renderer;
-var cube;
-
-// ## Initialize everything
-function init() {
- // create the camera
- camera = new THREE.Camera( 70, 4/3, 100, 1000 );
- camera.position.z = 350;
-
- // create the Scene
- scene = new THREE.Scene();
-
- // create the Cube
- cube = new THREE.Mesh( new THREE.CubeGeometry( 200, 200, 200 ), new THREE.MeshNormalMaterial() );
-
- // add the object to the scene
- scene.addObject( cube );
-
- // create the container element
- container = document.querySelector("#container");
-
- // init the WebGL renderer and append it to the Dom
- renderer = new THREE.WebGLRenderer();
- renderer.setSize( container.getBoundingClientRect().width, container.getBoundingClientRect().height );
- container.appendChild( renderer.domElement );
-}
-
-
-// ## Render the 3D Scene
-function render() {
- // animate the cube
- cube.rotation.x = 0.5;
- cube.rotation.y = 0.8;
- cube.rotation.z = 0.2;
-
- // actually display the scene in the DOM element
- renderer.render( scene, camera );
-}
-
-document.addEventListener("DOMContentLoaded", function() {
- init();
- render();
-}) \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/elements/video-001.html b/tests/wpt/web-platform-tests/css/css-regions/elements/video-001.html
deleted file mode 100644
index 4f092bc63d7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/elements/video-001.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: flowing a video in a region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Test checks videos flowed in regions render smoothly and without artifacts.">
- <style>
- .flow {
- flow-into: f;
- }
-
- .region {
- flow-from: f;
- width: 400px;
- height: 300px;
- }
- .region p {
- background-color: red;
- height: 50%;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two identical videos playing smoothly.<br>
- Test fails if you see a red rectangle or if videos are out of sync.</p>
-
- <video controls autoplay width="432" height="240" muted class="flow">
- <source type="video/mp4" src="support/green-at-15.mp4"></source>
- <source type="video/ogg" src="support/green-at-15.ogv"></source>
- </video>
- <video controls autoplay width="432" height="240">
- <source type="video/mp4" src="support/green-at-15.mp4"></source>
- <source type="video/ogg" src="support/green-at-15.ogv"></source>
- </video>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-001.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-001.html
deleted file mode 100644
index 6bf9668fd2c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-001.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: fixed height flexbox inside auto height region</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="assert" content="Test that flowing a flex container inside a region with auto-height will enlarge
- the region to fit the content.">
- <link rel="match" href="reference/autoheight-flexbox-001-ref.html">
- <style>
- .flex {
- display: flex;
- height: 100px;
- width: 100px;
- background-color: green;
- flow-into: flow;
- }
-
- .region {
- width: 100px;
- background-color: gray;
- padding: 10px;
- flow-from: flow;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray square.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="flex">
- </div>
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-002.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-002.html
deleted file mode 100644
index 5c430d5b26c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-002.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: flowing auto-height flexbox elements in region</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that a flex container with auto height is flowed correctly inside a region
- with auto height. The region should fit the flexbox.">
- <link rel="match" href="reference/regions-flexbox-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flex {
- display: flex;
- flow-into: flow;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .region {
- width: 100px;
- padding: 10px;
- background-color: gray;
- flow-from: flow;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray rectangle.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="flex">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-003.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-003.html
deleted file mode 100644
index 291d92dfba9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-003.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: auto height region inside a fixed sized flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that an auto-height region inside a flexbox is stretched to match the flexbox
- container's cross size.">
- <link rel="match" href="reference/autoheight-flexbox-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
- .region {
- flow-from: flow;
- }
- .flex {
- display: flex;
- height: 100px;
- width: 100px;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- <div class="flex">
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-004.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-004.html
deleted file mode 100644
index 11549d176f5..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-flexbox-004.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: auto height region inside an auto height flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that an auto height region inside a flex container with auto height is
- displayed properly. The flexbox should have the same height as the region.">
- <link rel="match" href="reference/autoheight-flexbox-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
- .region {
- flow-from: flow;
- }
- .flex {
- display: flex;
- width: 100px;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- <div class="flex">
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html
deleted file mode 100644
index 9431fa52ceb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-001.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Auto-height regions in auto-height flex container</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#propdef-flex-wrap">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-direction-property">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-flow-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that auto-height regions placed in a flex container with auto-height and
- row wrap reverse flow are sized correctly. The content from the second flow should flow through the region on
- the second row and into the region from the first row, making the left blue rectangle taller than the green
- rectangle on the right.">
- <link rel="match" href="reference/autoheight-regions-in-autoheight-flexbox-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- #c1 {
- color: green;
- flow-into: flow1;
- }
-
- #c2 {
- color: blue;
- flow-into: flow2;
- }
-
- .flex {
- display: flex;
- max-width: 300px;
- flex-flow: row-reverse wrap-reverse;
- }
-
- .fromFlow1 {
- flow-from: flow1;
- }
-
- .fromFlow2 {
- flow-from: flow2;
- }
-
- #r1 {
- max-width: 100px;
- max-height: 40px;
- flex: 1 1 auto;
- }
-
- #r2 {
- width: 200px;
- flex: 1 1 auto;
- }
-
- #r3 {
- flex: 1 1 auto;
- }
-
- .blue {
- color: blue;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a blue rectangle and a green rectangle, from left to right in this order.</li>
- <li>The blue rectangle one the left should be taller than the green rectangle on the right.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div id="c1" class="content">
- XXXXX<br>
- XXXXX<br>
- <span class="blue">XXXXX</span>
- </div>
- <div id="c2" class="content">
- XXXXX<br>
- XXXXX
- </div>
- <div class="flex">
- <div id="r1" class="fromFlow1"><p class="red">&nbsp;</p></div>
- <div id="r2" class="fromFlow2"><p class="red">&nbsp;</p></div>
- <div id="r3" class="fromFlow1"><p class="red">&nbsp;</p></div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html
deleted file mode 100644
index 768567dfb3b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-002.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Auto-height regions with vertical writing mode in auto-height flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-direction-property">
- <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that auto-height regions having content with vertical writing mode are
- sized correctly when placed inside a flex container. The flowed content should be displayed as a horizontal
- green stripe.">
- <link rel="match" href="reference/autoheight-regions-in-autoheight-flexbox-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-size: 20px;
- line-height: 1em;
- color: green;
- font-family: Ahem;
- flow-into: flow;
- writing-mode: vertical-rl;
- }
-
- .flexbox {
- display: flex;
- flex-flow: row;
- }
-
- .region {
- background-color: green;
- flow-from: flow;
- }
-
- .region > p {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a horizontal green stripe.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XX<br>
- XX<br>
- XX<br>
- XX<br>
- XX
- </div>
- <div class="flexbox">
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html
deleted file mode 100644
index 8a4a4a9966a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-003.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: auto-height regions in auto-height flexbox with flex basis</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#propdef-break-after">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-basis">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that the computed height of auto-height regions placed in a flex
- container takes into the account the flex basis property. The space available inside the flex container should
- be distributed according to the flex basis property. In this particular case, each of the three regions must
- have a height equal to one third of the flex container's height.">
- <link rel="match" href="reference/autoheight-regions-in-autoheight-flexbox-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
-
- .flex {
- display: flex;
- min-height: 120px;
- flex-direction: column;
- }
-
- .region {
- flex: 1 1 33%;
- flow-from: flow;
- }
-
- .break {
- /* Current (Jul 2013) standard way of region breaking */
- break-after: region;
- /* Old, non-standard but implemented way of region breaking */
- region-break-after: always;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see three horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXX<br><div class="break"></div>
- XXXX<br><div class="break"></div>
- XXXX<br>
- </div>
- <div class="flex">
- <div class="region"><p class="red">&nbsp;</p></div>
- <div class="region"> </div>
- <div class="region"> </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html
deleted file mode 100644
index c636bd9e9eb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-autoheight-flexbox-004.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: nested regions in flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-direction">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that nested regions placed in flex containers
- are laid out properly. The first flow (blue content) is nested inside the second flow (green content). The user
- should see three horizontal stripes with the following colors: green, blue, green.">
- <link rel="match" href="reference/autoheight-regions-in-autoheight-flexbox-004-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .c1, .c2 {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .c1 {
- color: blue;
- flow-into: f1;
- margin-top: 20px;
- margin-bottom: 20px;
- }
-
- .c2 {
- color: green;
- flow-into: f2;
- }
-
- .flex {
- display: flex;
- flex-direction: column;
- }
-
- .r1 {
- flow-from: f1;
- }
- .r2 {
- flow-from: f2;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a column of three horizontal stripes with colors in the following order:
- green, blue, green.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="c1">
- XXX
- </div>
- <div class="c2">
- <div class="flex">
- XXX
- <div class="r1"></div>
- </div>
- XXX
- </div>
- <div class="flex">
- <div class="r2"><p class="red">&nbsp;</p></div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html
deleted file mode 100644
index 6a5287d9296..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-001.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Auto-height regions inside fixed sized flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#propdef-flex-grow">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that auto-height regions respect the flex grow property when placed
- inside a fixed sized flexbox with a single row.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content1, .content2 {
- font-family: Ahem;
- line-height: 1em;
- font-size: 20px;
- }
- .content1 {
- color: green;
- flow-into: flow1;
- }
-
- .content2 {
- color: blue;
- flow-into: flow2;
- }
-
- #fixed {
- height: 200px;
- width: 100px;
- background-color: blue;
- }
-
- .flex {
- display: flex;
- height: 200px;
- width: 500px;
- }
-
- .fromFlow1 {
- flow-from: flow1;
- flex-grow: 0;
- }
-
- .fromFlow2 {
- flow-from: flow2;
- flex-grow: 1;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you can see two squares placed on the same horizontal line. Each square consists of two
- vertical halves. The left square has the left half colored green and the right half colored blue.
- The right square has left half colored blue and the right half colored green.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content1">
- XXXXX<br>XXXXX<br>XXXXX<br>XXXXX<br>
- XXXXX<br>XXXXX<br>XXXXX<br>XXXXX<br>
- XXXXX<br>XXXXX<br>XXXXX<br>XXXXX<br>
- XXXXX<br>XXXXX<br>XXXXX<br>XXXXX<br>
- XXXXX<br>XXXXX<br>XXXXX<br>XXXXX<br>
- </div>
- <div class="content2">
- XXXXX<br>XXXXX<br>XXXXX<br>XXXXX<br>
- XXXXX<br>XXXXX<br>XXXXX<br>XXXXX<br>
- XXXXX<br>XXXXX<br>
- </div>
- <div class="flex">
- <div class="fromFlow1">
- </div>
- <div class="fromFlow2">
- </div>
- <div id='fixed'>
- </div>
- <div class="fromFlow1">
- <p class="red">&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html
deleted file mode 100644
index 3cfd9bb5dd1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-002.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Auto-height regions inside fixed sized flexbox with column flow</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#propdef-flex-grow">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that auto-height regions placed inside a fixed sized flexbox with
- column flow have the correct computed height. There are two regions placed inside the same flex container
- having the same 'grow' value. The space should be distributed evenly between the two.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content1, .content2 {
- font-family: Ahem;
- line-height: 1em;
- font-size: 20px;
- }
-
- .content1 {
- color: green;
- flow-into: flow1;
- }
-
- .content2 {
- color: blue;
- flow-into: flow2;
- }
-
- #fixed {
- height: 100px;
- width: 200px;
- background-color: blue;
- flex-grow: 0;
- }
-
- .flex {
- display: flex;
- height: 400px;
- width: 200px;
- flex-direction: column;
- }
-
- .fromFlow1 {
- flow-from: flow1;
- flex-grow: 1;
- }
-
- .fromFlow2 {
- flow-from: flow2;
- flex-grow: 1;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you can see two squares: a green square at the top and a blue square at the bottom.</li>
- <li>The two squares should be of the same size.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content1">
- XXXXXXXXXX<br>XXXXXXXXXX<br>
- XXXXXXXXXX<br>XXXXXXXXXX<br>
- XXXXXXXXXX<br>XXXXXXXXXX<br>
- XXXXXXXXXX<br>XXXXXXXXXX<br>
- XXXXXXXXXX<br>XXXXXXXXXX
- </div>
- <div class="content2">
- XXXXXXXXXX<br>XXXXXXXXXX<br>
- XXXXXXXXXX<br>XXXXXXXXXX<br>
- XXXXXXXXXX<br>
- </div>
- <div class="flex">
- <div class="fromFlow1">
- </div>
- <div class="fromFlow2">
- </div>
- <div id='fixed'>
- </div>
- <!-- This shouldn't get any content if the flex container distributes space evenly between the first two
- regions. -->
- <div class="fromFlow1">
- <p class="red">&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html
deleted file mode 100644
index d6062aa21e6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-003.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Auto-height regions inside a fixed sized flexbox with column wrap flow</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#propdef-flex-wrap">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks the layout of auto-height regions placed inside a flexbox with a fixed
- size and column wrap flow. The flex container should have two columns with three regions each.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- line-height: 1em;
- font-size: 20px;
- }
-
- #c1 {
- flow-into: f1;
- color: green;
- }
-
- #c2 {
- flow-into: f2;
- color: blue;
- }
-
- .flex {
- height: 120px;
- width: 200px;
- display: flex;
- flex-direction: column;
- flex-wrap: wrap;
- }
-
- .region1 {
- flow-from: f1;
- width: 100px;
- margin-right: 20px;
- }
-
- .region2 {
- flow-from: f2;
- break-after: always;
- width: 100px;
- margin-right: 20px;
- }
-
- .break {
- /* Current (Jul 2013) standard way of region breaking */
- break-after: region;
- /* Old, non-standard but implemented way of region breaking */
- region-break-after: always;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see two columns with a total of 6 alternating horizontal green and blue stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content" id="c1">
- XXXXX<br>
- XXXXX
- <div class="break"></div>
- XXXXX<br>
- XXXXX
- <div class="break"></div>
- XXXXX<br>
- XXXXX
- </div>
- </div>
- <div class="content" id="c2">
- XXXXX<br>
- XXXXX
- <div class="break"></div>
- XXXXX<br>
- XXXXX
- <div class="break"></div>
- XXXXX<br>
- XXXXX
- </div>
- <div class="flex">
- <div class="region1">
- </div>
- <div class="region2">
- </div>
- <div class="region1">
- </div>
- <div class="region2">
- </div>
- <div class="region1">
- </div>
- <div class="region2">
- <p class="red">&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html
deleted file mode 100644
index 2317391169f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-004.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Auto-height region in fixed sized flexbox using flex basis</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks the layout of regions placed inside a fixed sized flexbox using flex
- basis and column flow. The flex container should force the first region to break by constraining its height.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
-
- .flex {
- display: flex;
- height: 100px;
- width: 100px;
- flex-direction: column;
- margin-bottom: 20px;
- }
-
- .fixed {
- flex-basis: 60%;
- }
-
- .region {
- flow-from: flow;
- }
-
- #first {
- flex-basis: 40%;
- }
-
- #second {
- height: 100px;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see two green stripes.</li>
- <li>You should not see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- </div>
- <div class="flex">
- <div class="fixed"></div>
- <div class="region" id="first"></div>
- </div>
- <div class="region" id="second">
- <p class="red">&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html
deleted file mode 100644
index 9c54fbed41f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-005.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Auto-height regions in fixed sized flexboxes with align-items and justify-content</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="assert" content="Test checks auto-height regions' layout when placed inside a flexbox with using
- align-items and justify-content properties. The flowed content should be fragmented between the three regions
- and the flex container should distribute the remaining horizontal space evenly around the regions.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
-
- .flex {
- display: flex;
- align-items: center;
- justify-content: space-around;
- height: 100px;
- width: 420px;
- }
-
- .region {
- flow-from: flow;
- }
-
- .break {
- /* Current (Jul 2013) standard way of region breaking */
- break-after: region;
- /* Old, non-standard but implemented way of region breaking */
- region-break-after: always;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see three horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- <div class="break">XXXX</div>
- <div class="break">XXXX</div>
- <div class="break">XXXX</div>
- </div>
- <div class="flex">
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"><p class="red">&nbsp;</p></div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html
deleted file mode 100644
index cc863d657e3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-006.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: auto-height regions inside a flex container with fixed size</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#propdef-flex-wrap">
- <meta name="assert" content="Test that the flex container stretches a region flex item with a height smaller than
- the flex container's inner cross size.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #c1, #c2 {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #c1 {
- color: green;
- flow-into: flow1;
- }
- #c2 {
- color: blue;
- flow-into: flow2;
- }
-
- .flex {
- display: flex;
- flex-direction: row wrap;
- flex: auto;
- height: 80px;
- width: 200px;
- }
- .region1 {
- flow-from: flow1;
- background-color: green;
- }
- .region2 {
- flow-from: flow2;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a rectangle having the left half colored green and the right half colored
- blue.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div id="c1">
- XXXX<br>
- XXXX
- </div>
- <div id="c2">
- XXXX<br>
- XXXX<br>
- XXXX<br>
- XXXX
- </div>
- <div class="flex">
- <div class="region1"></div>
- <div class="region2"><p class="red">&nbsp;</p></div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html
deleted file mode 100644
index 185ab3ddb03..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-007.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: auto-height regions inside fixed sized flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that using the flex-basis property sizes the flex items to a percentage of
- the flex container's height when said items are auto-height regions. The last region, the outside the flex
- container should not be visible.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
-
- .flex {
- display: flex;
- flex-direction: column;
- justify-content: space-around;
- height: 200px;
- width: 80px;
- }
-
- .region {
- flex-basis: 10%;
- flow-from: flow;
- }
-
- .red {
- background-color: red;
- }
-
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see you three identical green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXX<br>
- XXXX<br>
- XXXX<br>
- XXXX
- </div>
- <div class="flex">
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- </div>
- <div class="region"><p class="red">&nbsp;</p></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html
deleted file mode 100644
index d8f59720c9e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/autoheight-regions-in-fixed-sized-flexbox-008.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: auto-height regions with max height in fixed sized flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#rfcb-flow-fragment-height-resolution">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that the max-height property is applied to regions placed inside a fixed
- sized flexbox with a column flow. The flex container should not flex the region flex items beyond their
- max height value.">
- <link rel="match" href="reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
-
- .flex {
- display: flex;
- flex-direction: column;
- height: 200px;
- width: 100px;
- }
-
- .region {
- max-height: 20px;
- flex: auto;
- flow-from: flow;
- margin-bottom: 20px;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see three horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXX<br>
- XXXX<br>
- XXXX
- </div>
- <div class="flex">
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"><p class="red">&nbsp;</p></div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/column-flexbox-break.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/column-flexbox-break.html
deleted file mode 100644
index c1ae0901693..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/column-flexbox-break.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: fragmenting a flex container with column flow </title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-containers">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-direction-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that a flex container with column flow is fragmented between regions.">
- <link rel="match" href="reference/column-flexbox-break-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flex {
- display: flex;
- flex-direction: column;
- flow-into: flow;
- }
-
- .region {
- flow-from: flow;
- height: 45px;
- margin-bottom: 20px;
- }
-
- .item {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see two horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="flex">
- <div class="item">XXXX<br>XXXX</div>
- <div class="item">XXXX<br>XXXX</div>
- </div>
- <div class="region"></div>
- <div class="region"><p class="red">&nbsp;</p></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-001-ref.html
deleted file mode 100644
index eec91745a23..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-001-ref.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .flex {
- height: 100px;
- width: 100px;
- background-color: green;
- }
- .region {
- width: 100px;
- background-color: gray;
- padding: 10px;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray square.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="region">
- <div class="flex">
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-002-ref.html
deleted file mode 100644
index 67eaeb881a4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-002-ref.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flex {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .region {
- width: 100px;
- padding: 10px;
- background-color: gray;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray rectangle.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="region">
- <div class="flex">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html
deleted file mode 100644
index 5b1455c3f80..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-flexbox-003-ref.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-001-ref.html
deleted file mode 100644
index 6fca3fe2008..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-001-ref.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .blue {
- height: 60px;
- width: 100px;
- background-color: blue;
- }
-
- .green {
- height: 40px;
- width: 100px;
- background-color: green;
- position: relative;
- bottom: 40px;
- left: 200px;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a blue rectangle and a green rectangle, from left to right in this order.</li>
- <li>The blue rectangle one the left should be taller than the green rectangle on the right.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="blue"> </div>
- <div class="green"> </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-002-ref.html
deleted file mode 100644
index 399b70455c4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-002-ref.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- line-height: 1em;
- font-size: 20px;
- color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a horizontal green stripe.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br>
- XXXXX
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-003-ref.html
deleted file mode 100644
index d0df028dc61..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-003-ref.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- margin-bottom: 20px;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see three horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">XXXX</div>
- <div class="content">XXXX</div>
- <div class="content">XXXX</div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-004-ref.html
deleted file mode 100644
index 97feebd2060..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-autoheight-flexbox-004-ref.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .c1, .c2 {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .c1 {
- color: blue;
- margin-top: 20px;
- margin-bottom: 20px;
- }
-
- .c2 {
- color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a column of three horizontal stripes with colors in the following order:
- green, blue, green.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="c2">XXX</div>
- <div class="c1">XXX</div>
- <div class="c2">XXX</div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html
deleted file mode 100644
index 7f270fbf7bc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-001-ref.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .block {
- display: inline-block;
- margin: 0px;
- padding: 0px;
- height: 200px;
- width: 100px;
- }
-
- .blue {
- background-color: blue;
- }
-
- .green {
- background-color: green;
- }
-
- .white {
- background-color: white;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you can see two squares placed on the same horizontal line. Each square consists of two
- vertical halves. The left square has the left half colored green and the right half colored blue.
- The right square has left half colored blue and the right half colored green.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="block green"></div><div class="block blue"></div><div class="block white"></div><div class="block blue"></div><div class="block green"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html
deleted file mode 100644
index d623729da73..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-002-ref.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .block {
- width: 200px;
- height: 200px;
- }
-
- .blue {
- background-color: blue;
- }
-
- .green {
- background-color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you can see two squares: a green square at the top and a blue square at the bottom.</li>
- <li>The two squares should be of the same size.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="block green"></div>
- <div class="block blue"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html
deleted file mode 100644
index 6d64025eb82..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-003-ref.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .column {
- display: inline-block;
- margin-right: 20px;
- }
-
- .green {
- width: 100px;
- height: 40px;
- background-color: green;
- }
-
- .blue {
- width: 100px;
- height: 40px;
- background-color: blue;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>The green and blue rectangles are regions placed inside a flexbox with column wrap flow.</li>
- <li>Test passes if you see two columns with a total of 6 alternating horizontal green and blue stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="column">
- <div class="green"></div>
- <div class="blue"></div>
- <div class="green"></div>
- </div><div class="column">
- <div class="blue"></div>
- <div class="green"></div>
- <div class="blue"></div>
- </div>
-
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html
deleted file mode 100644
index 0687bd34565..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-004-ref.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .fixed {
- height: 40px;
- width: 100px;
- margin-bottom: 20px;
- background-color: green;
- position: relative;
- top: 60px;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see two green stripes.</li>
- <li>You should not see any red.</li>
- </ul>
- <div class="fixed"></div>
- <div class="fixed"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html
deleted file mode 100644
index 318f7ad70bd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-005-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .stripe {
- height: 20px;
- width: 80px;
- display: inline-block;
- margin-left: 30px;
- margin-right: 26px;
- margin-top: 40px;
- background-color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see three horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="stripe"></div>
- <div class="stripe"></div>
- <div class="stripe"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html
deleted file mode 100644
index 2966e51de9e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-006-ref.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .block {
- display: inline-block;
- height: 80px;
- width: 80px;
- }
-
- .blue {
- background-color: blue;
- }
-
- .green {
- background-color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a rectangle having the left half colored green and the right half colored
- blue.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="block green"></div><div class="block blue"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html
deleted file mode 100644
index 2e8c850db37..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-007-ref.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .stripe {
- background-color: green;
- height: 20px;
- width: 80px;
- margin-top: 39px;
- margin-bottom: 46px;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see you three identical green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="stripe"></div>
- <div class="stripe"></div>
- <div class="stripe"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html
deleted file mode 100644
index 6b83e0fb3f8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/autoheight-regions-in-fixed-sized-flexbox-008-ref.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .stripe {
- background-color: green;
- height: 20px;
- width: 80px;
- margin-bottom: 20px;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see three horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="stripe"></div>
- <div class="stripe"></div>
- <div class="stripe"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/column-flexbox-break-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/column-flexbox-break-ref.html
deleted file mode 100644
index 563217f2a76..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/column-flexbox-break-ref.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .first, .second {
- width: 80px;
- background-color: green;
- margin-bottom: 20px;
- }
-
- .first {
- height: 45px;
- }
-
- .second {
- height: 35px;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see two horizontal green stripes.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="first"></div>
- <div class="second"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-001-ref.html
deleted file mode 100644
index a0337adbe55..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-001-ref.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .flex {
- height: 100px;
- width: 100px;
- background-color: green;
- }
-
- .region {
- height: 150px;
- width: 200px;
- background-color: gray;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray rectangle.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="region">
- <div class="flex">
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-002-ref.html
deleted file mode 100644
index 5dd4b7513bc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/regions-flexbox-002-ref.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: fixed sized region inside an auto height flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .region {
- width: 100px;
- height: 100px;
- background-color: red;
- }
- .flex {
- display: flex;
- width: 150px;
- background-color: gray;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray rectangle.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="flex">
- <div class="region">
- <div class="content">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/row-flexbox-break-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/row-flexbox-break-ref.html
deleted file mode 100644
index ad6650d3063..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/row-flexbox-break-ref.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- .stripe {
- height: 40px;
- width: 80px;
- margin-bottom: 20px;
- background-color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see two horizontal green stripes on the same horizontal line.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="stripe"></div>
- <div class="stripe"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/visibility-regions-in-flexbox-ref.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/visibility-regions-in-flexbox-ref.html
deleted file mode 100644
index 1e46f07680f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/reference/visibility-regions-in-flexbox-ref.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a single green stripe.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXXXXXXX
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-001.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-001.html
deleted file mode 100644
index 0f56db981c0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-001.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: flowing flexbox elements in region</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-containers">
- <meta name="assert" content="Test that flex containers are flowed inside a namedflow.">
- <link rel="match" href="reference/regions-flexbox-001-ref.html">
- <style>
- .flex {
- display: flex;
- height: 100px;
- width: 100px;
- background-color: green;
- flow-into: flow;
- }
-
- .region {
- height: 150px;
- width: 200px;
- background-color: gray;
- flow-from: flow;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray rectangle.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="flex">
- </div>
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-002.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-002.html
deleted file mode 100644
index 7e0635d7667..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-002.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: flowing auto-height flexbox elements in region</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-containers">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that flex containers with auto height are flowed inside a namedflow.">
- <link rel="match" href="reference/regions-flexbox-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flex {
- display: flex;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
-
- .region {
- height: 150px;
- width: 200px;
- background-color: gray;
- flow-from: flow;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray rectangle.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="flex">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-003.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-003.html
deleted file mode 100644
index 314ea594346..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-003.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: fixed sized region inside a fixed sized flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-containers">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that content is flowed in a region placed inside a flexbox.">
- <link rel="match" href="reference/regions-flexbox-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
- .region {
- width: 100px;
- height: 100px;
- flow-from: flow;
- }
- .flex {
- display: flex;
- height: 150px;
- width: 150px;
- background-color: gray;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray square positioned at its top left corner.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- <div class="flex">
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-004.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-004.html
deleted file mode 100644
index ae80bbc8acc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/regions-flexbox-004.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: fixed sized region inside an auto height flexbox</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-containers">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test that content is flowed in a region placed inside a flexbox with auto-height.">
- <link rel="match" href="reference/regions-flexbox-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
- .region {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: flow;
- }
- .flex {
- display: flex;
- width: 150px;
- background-color: gray;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a green square inside a gray rectangle.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX
- </div>
- <div class="flex">
- <div class="region">
- <p class="red">&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/row-flexbox-break.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/row-flexbox-break.html
deleted file mode 100644
index 402242284c3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/row-flexbox-break.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: row flex container fragmentation</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#pagination">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that a flex container with row flow is split between regions.">
- <link rel="match" href="reference/row-flexbox-break-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flex {
- display: flex;
- flex-direction: row;
- flow-into: flow;
- }
-
- .region {
- flow-from: flow;
- height: 40px;
- margin-bottom: 20px;
- }
-
- .item {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see two horizontal green stripes on the same horizontal line.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="flex">
- <div class="item">XX<br>XX<br>XX<br>XX<br></div>
- <div class="item">XX<br>XX<br>XX<br>XX<br></div>
- </div>
- <div class="region"><p class="red">&nbsp;</p></div>
- <div class="region"><p class="red">&nbsp;</p></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flexbox/visibility-regions-in-flexbox.html b/tests/wpt/web-platform-tests/css/css-regions/flexbox/visibility-regions-in-flexbox.html
deleted file mode 100644
index 230af22d1c3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flexbox/visibility-regions-in-flexbox.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: collapsed region flex items</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#visibility-collapse">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that the flexbox collapsed property works on flex items that are
- regions. The collapsed region item should not contribute to the flex container's width.">
- <link rel="match" href="reference/visibility-regions-in-flexbox-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
-
- .flex {
- display: flex;
- }
-
- .region {
- flow-from: flow;
- }
-
- .break {
- /* Current (Jul 2013) standard way of region breaking */
- break-after: region;
- /* Old, non-standard but implemented way of region breaking */
- region-break-after: always;
- }
-
- #r2 {
- visibility: collapse;
- height: 100px;
- }
-
- .red {
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>Test passes if you see a single green stripe.</li>
- <li>You shouldn't see any red.</li>
- </ul>
- <div class="content">
- XXXXX<br><div class="break"></div>
- XXXXX<div class="break"></div>
- XXXXX<br>
- </div>
- <div class="flex">
- <div class="region"><p class="red">&nbsp;</p></div>
- <div class="region" id="r2"></div>
- <div class="region"></div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-001.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-001.html
deleted file mode 100644
index f0cc63139cc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-001.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: multiple auto-sized floated regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#regions-visual-formatting-details">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that multiple regions that are auto-sized and floated
- are sized according to the auto-size algorithm but also respect the floats sizing model.
- They should also be properly floated relative to their corresponding block formatting
- context.">
- <link rel="match" href="reference/floated-regions-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .blue {
- color: blue;
- border-color: blue;
- }
- .green {
- color: green;
- border-color: green;
- }
- .break {
- break-before: region;
- }
-
- #region-container {
- border: 10px solid black;
- overflow: hidden;
- }
-
- .region {
- flow-from: f;
- }
- .region p {
- background: red;
- }
- .right {
- border-left-width: 20px;
- border-left-style: solid;
- float: right;
- }
- .left {
- border-right-width: 20px;
- border-right-style: solid;
- float: left;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a horizontal, black-bordered rectangle with a green square at its
- left end and a blue square at its right end. The rectangle should be approximately as
- wide as the page.<br>
- You should see no red.
- </p>
- <div id="region-container">
- <div class="region right blue">
- <p>&nbsp;</p>
- </div>
- <div class="region left green">
- <p>&nbsp;</p>
- </div>
- </div>
- <article class="flow">
- <div class="blue">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- <div class="green break">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-002.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-002.html
deleted file mode 100644
index b7a2f796dc0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-002.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floated region with multiple floated siblings</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that a floated region behaves as a regular float
- when it has multiple floated siblings, before and after it.">
- <link rel="match" href="reference/floated-regions-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- }
-
- .region {
- flow-from: f;
- background: red;
- }
- .region p {
- background: red;
- }
-
- .float {
- float: left;
- width: 100px;
- height: 100px;
- margin-right: 10px;
- }
-
- .green {
- background: green;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see four regularly spaced green squares.<br>
- You should see no red.
- </p>
-
- <div class="float green"></div>
- <div class="float green"></div>
- <div class="region float"></div>
- <div class="float green"></div>
-
- <article class="flow">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-003.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-003.html
deleted file mode 100644
index 5e7f16ff469..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-003.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: single auto-sized floated region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that a single auto-sized region is properly sized,
- according both to the regions processing model and the specifics of floats sizing.">
- <link rel="match" href="reference/floated-regions-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- }
-
- .region {
- flow-from: f;
- }
- .region p {
- background: red;
- }
-
- .float {
- float: left;
- border: 10px solid black;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square with a thick black outline.<br>
- You should see no red.
- </p>
-
- <div class="region float"></div>
-
- <article class="flow">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-004.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-004.html
deleted file mode 100644
index c62000f014b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-004.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: named flow contains a nested floated region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#regions-visual-formatting-details">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that a named flow that contains a nested floated
- auto-sized region is formatted according to the visual formatting model.">
- <link rel="match" href="reference/floated-regions-004-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- color: green;
- }
- .inner-flow {
- flow-into: g;
- color: blue;
- }
-
- .region {
- flow-from: f;
- border: 10px solid black;
- }
- .inner-region {
- flow-from: g;
- }
- .region p,
- .inner-region p {
- background: red;
- }
-
- .float {
- float: right;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a horizontal, black-bordered rectangle with a green square at its
- left end and a blue square at its right end. The rectangle should be approximately as
- wide as the page.<br>
- You should see no red.
- </p>
-
- <div class="region"></div>
-
- <article class="flow">
- <div class="float inner-region">
- <p>&nbsp;</p>
- </div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- <article class="inner-flow">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-005.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-005.html
deleted file mode 100644
index 7257ffbbc97..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floated-regions-005.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floated and normal flow auto-sized regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#regions-visual-formatting-details">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that layout is correct when mixing floated and normal
- flow auto-sized regions.">
- <link rel="match" href="reference/floated-regions-005-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .blue {
- color: blue;
- }
- .green {
- color: green;
- }
-
- .region {
- flow-from: f;
- }
- .region p {
- background: red;
- }
- .left {
- float: left;
- }
- .sized {
- max-height: 100px;
- }
- .inline-block {
- display: inline-block;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you two squares side by side. The left one should be green, the right one
- should be blue and they should be flush to one another.<br>
- You should see no red.
- </p>
-
- <div class="sized left region">
- <p>&nbsp;</p>
- </div>
- <div class="inline-block region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="green">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="blue">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-001.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-001.html
deleted file mode 100644
index 4e03aa46a38..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-001.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: cleared floats in named flow contents</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats in named flow contents are floated relative
- to the region container and not their initial container, even when multiple regions
- are involved.">
- <link rel="match" href="reference/floats-clear-breaks-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .float {
- float: left;
- color: blue;
- margin: 2px 4px 6px 8px;
- }
- .break {
- break-before: region;
- }
-
- .green {
- color: green;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- flow-from: f;
- display: inline-block;
- margin-bottom: 10px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <!-- In case the forced break leads to an empty region, the content will flow in this
- third region ending up without a border. -->
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="break green">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-002.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-002.html
deleted file mode 100644
index 1a8a97334d4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-clear-breaks-002.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: forced region breaks and clear on floats inside named flow contents</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#parallel-flows">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that no regions are left empty when setting
- a forced region break on a cleared float.">
- <link rel="match" href="reference/floats-clear-breaks-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .float {
- float: left;
- color: blue;
- }
- .break {
- break-before: region;
- }
-
- .clear {
- clear: left;
- color: green;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- flow-from: f;
- max-width: 100px;
- margin-bottom: 10px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <!-- In case the clear + forced break lead to an empty region, the content will flow in this
- third region ending up without a border. -->
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- <div class="break clear">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-001.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-001.html
deleted file mode 100644
index 0e59a21fc72..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-001.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: float in a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that a float in named flow contents is floated relative
- to the region container and not its initial container.">
- <link rel="match" href="reference/floats-in-named-flow-001-ref.html">
- <style>
- .flow {
- flow-into: f;
- text-align: right;
- color: gray;
- }
- .float {
- width: 50px;
- height: 50px;
- background-color: lightblue;
- float: left;
- }
- .region {
- flow-from: f;
- max-width: 150px;
- margin: 5px;
- border: 2px solid black;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see some filler gray text and a light blue square in the top left
- corner of black-bordered rectangle.<br>
- Test fails is you see any red.
- </p>
- <div class="flow">
- <div class="float"></div>
- This is filler text. This is filler text. This is filler text. This is filler text. This is filler text.
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-002.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-002.html
deleted file mode 100644
index 03081e52bde..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-002.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: named flow contains multiple floats</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that when a named flow contains multiple floats they
- are floated relative to the region container and not their initial container.">
- <link rel="match" href="reference/floats-in-named-flow-002-ref.html">
- <style>
- .flow {
- flow-into: f;
- color: gray;
- }
- .float {
- width: 50px;
- height: 50px;
- }
- .right {
- float: right;
- background: lightgreen;
- }
- .left {
- float: left;
- background: lightblue;
- }
- .region {
- flow-from: f;
- width: 200px;
- border: 2px solid black;
- margin: 5px;
- }
- .region p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a black-bordered rectangle with the following contents: a light blue
- square in the top left corner, a light green square in the top right with some filler gray
- text in between the squares and under them.<br>
- Test fails is you see any red.
- </p>
- <div class="flow">
- <div class="float right"></div>
- <div class="float left"></div>
- This is filler text. This is filler text. This is filler text. This is filler text. This is filler text. This is filler text. This is filler text.
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-003.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-003.html
deleted file mode 100644
index 6f95a8c402b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-003.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: separate floats as named flow contents</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that floats from different containers, individually
- flowed in a region are floated relative to the region container and not their
- initial container.">
- <link rel="match" href="reference/floats-in-named-flow-003-ref.html">
- <style>
- .flow {
- flow-into: f;
- color: gray;
- }
- .float {
- width: 50px;
- height: 50px;
- }
- .right {
- float: right;
- background: lightgreen;
- }
- .left {
- float: left;
- background: lightblue;
- }
- .region {
- flow-from: f;
- width: 150px;
- margin: 5px;
- background: yellow;
- }
- .region p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see three squares, side by side, as follows: from left
- to right, a light blue square, a yellow square and a light green square,
- all flush to each other.<br>
- Test fails is you see any red.
- </p>
- <!-- This inline style could possibly break the positioning in the float when flowed in the region -->
- <div style="margin: auto; width: 50%;">
- <div class="flow float right"></div>
- </div>
- <div class="flow float left"></div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-004.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-004.html
deleted file mode 100644
index afa1b769537..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-004.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: separate floats flowed in autosized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#regions-visual-formatting-details">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that floats added to a named flow from different containers are stacked relative to the region container (not their initial container) and the region is correctly sized.">
- <link rel="match" href="reference/floats-in-named-flow-004-ref.html">
- <style>
- .flow {
- flow-into: f;
- color: gray;
- }
- .right {
- float: right;
- }
- .left {
- float: left;
- }
- .green {
- background: lime;
- height: 100px;
- width: 50px;
- }
- .blue {
- background: lightblue;
- width: 50px;
- height: 50px;
- }
- .purple {
- background: purple;
- width: 100px;
- height: 50px;
- }
- .region {
- flow-from: f;
- float: left;
- border-right: 25px solid black;
- margin: 5px;
- }
- .region p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see four colored rectangles, as follows: a horizontal purple rectangle,
- a vertical green rectangle, a blue square and a narrow vertical black rectangle. The
- rectangles should be all flush to each other and have their top edges aligned.<br>
- Test fails is you see any red.
- </p>
-
- <div class="flow right blue"></div>
- <div class="flow right green"></div>
- <div class="flow left purple"></div>
-
- <!-- The region is auto-sized but since it has float: left it will shrink to fit -->
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-005.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-005.html
deleted file mode 100644
index bdb6266cacc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-005.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: separate floats with percent size in sized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="">
- <meta name="assert" content="Test checks that floats inside a named flow are sized relative
- to the region container, regardless of their initial block formatting context.">
- <link rel="match" href="reference/floats-in-named-flow-005-ref.html">
- <style>
- .flow {
- flow-into: f;
- color: gray;
- }
- .dummy-bfc {
- /* This creates a new block formatting context */
- overflow: hidden;
- }
- .floater {
- width: 20%;
- height: 50px;
- background-color: lightblue;
- }
- .left {
- float: left;
- }
- .right {
- float: right;
- }
- .region {
- flow-from: f;
- width: 250px;
- margin: 5px;
- border: 2px solid black;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <div class="dummy-bfc">
- <div class="flow floater left"></div>
- </div>
-
- <p>
- Test passes if you see some filler gray text and three blue squares inside a black-bordered
- rectangle. One blue square should be in the top left corner, another in the top right
- corner and the third one should be somewhere along the left border, below the top-left
- one.<br>
- Test fails is you see any red.
- </p>
-
- <div class="flow">
- <div class="floater right"></div>
- This is filler text. This is filler text. This is filler text. This is filler text. This
- is filler text. This is filler text. This is filler text. This is filler text. This is
- filler text. This is filler text. This is filler text. This is filler text. This is
- filler text. This is filler text. This is filler text. This is filler text. This is
- <div class="floater left"></div>
- filler text. This is filler text. This is filler text. This is filler text. This is
- filler text. This is filler text. This is filler text. This is filler text.
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-006.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-006.html
deleted file mode 100644
index 6f0cf067bc0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-006.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floats in a named flow with multiple regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats in named flow contents are positioned relative to their containing regions.">
- <link rel="match" href="reference/floats-in-named-flow-006-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flow {
- flow-into: f;
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .floater {
- width: 60px;
- height: 60px;
- background-color: lightblue;
- }
- .left {
- float: left;
- }
- .right {
- float: right;
- }
- .region {
- flow-from: f;
- width: 200px;
- height: 100px;
- margin: 5px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two gray rectangles, each with a blue square inside it. The first
- rectangle should have a blue square in the top right corner, while the second rectangle
- should have a blue square in the top left corner.<br>
- Test fails is you see any red.
- </p>
-
- <div class="flow floater right"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- <div class="flow floater left"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-007.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-007.html
deleted file mode 100644
index 4fb9bcb713b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-007.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: named flow has floats and multiple block formatting contexts and is
- flowed in multiple regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats in named flows are positioned relative
- to their regions and not their initial container, even when multiple regions
- are involved and the named flow contents come from different block formatting contexts.">
- <link rel="match" href="reference/floats-in-named-flow-006-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flow {
- flow-into: f;
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .dummy-bfc {
- /* Create a new block formatting context */
- overflow: hidden;
- }
- .floater {
- width: 60px;
- height: 60px;
- background-color: lightblue;
- }
- .left {
- float: left;
- }
- .right {
- float: right;
- }
- .region {
- flow-from: f;
- width: 200px;
- height: 100px;
- margin: 5px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two gray rectangles, each with a blue square inside it. The first
- rectangle should have a blue square in the top right corner, while the second rectangle
- should have a blue square in the top left corner.<br>
- Test fails is you see any red.
- </p>
-
- <div class="flow floater right"></div>
- <!-- The div below has overflow: hidden to trigger creation of a new block formatting context.
- This tests the fact that contents inside separate block formating contexts behave as if they
- are in a single block formatting context when flowed in a region. -->
- <div class="dummy-bfc">
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- </div>
- <div class="flow floater left"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-008.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-008.html
deleted file mode 100644
index 8de84c11c01..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-008.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floats in a named flow with forced breaks and multiple regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats in named flow contents are floated relative
- to the region container they are laid out in (and not their initial container), even
- when multiple regions are involved and content has forced region breaks.">
- <link rel="match" href="reference/floats-in-named-flow-006-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flow {
- flow-into: f;
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .break {
- break-after: region;
- }
- .floater {
- width: 60px;
- height: 60px;
- background-color: lightblue;
- }
- .left {
- float: left;
- }
- .right {
- float: right;
- }
- .region {
- flow-from: f;
- max-width: 200px;
- margin: 5px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two gray rectangles, each with a blue square inside it. The first
- rectangle should have a blue square in the top right corner, while the second rectangle
- should have a blue square in the top left corner.<br>
- Test fails is you see any red.
- </p>
-
- <div class="flow floater right"></div>
- <div class="flow break">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- <div class="flow floater left"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-009.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-009.html
deleted file mode 100644
index 8ae60c334b7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-009.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floats in a named flow fragmented through multiple regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats in named flow contents are correctly
- fragmented and the fragments are floated relative to the region container they are
- laid out in and not their initial container.">
- <link rel="match" href="reference/floats-in-named-flow-009-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .left-floater {
- float: left;
- color: lightblue;
- }
- .right-floater {
- float: right;
- color: lightgreen;
- }
- .region {
- flow-from: f;
- width: 180px;
- height: 60px;
- margin: 10px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two identical rows of colored squares. Each row should have three
- squares, from left to right as follows: blue, gray, green. The squares in a row should
- be flush to each other, but the two rows should have some space between them.<br>
- Test fails is you see any red.
- </p>
-
- <article>
- <div class="flow right-floater">xxx<br>xxx<br>xxx<br>xxx<br>xxx<br>xxx</div>
- <div class="flow left-floater">xxx<br>xxx<br>xxx<br>xxx<br>xxx<br>xxx</div>
- <div class="flow">
- xxx
- xxx
- xxx
- xxx
- xxx
- xxx
- </div>
- </article>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-010.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-010.html
deleted file mode 100644
index 068e7b85d18..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-010.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floats in named flow content are sized relatively to the region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats in named flow contents are sized
- relatively to the region they are laid out in.">
- <link rel="match" href="reference/floats-in-named-flow-006-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .float {
- width: 30%;
- height: 60%;
- background-color: lightblue;
- }
- .left {
- float: left;
- }
- .right {
- float: right;
- }
- .region {
- flow-from: f;
- width: 200px;
- height: 100px;
- margin: 10px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two gray rectangles, each with a blue square inside it. The first
- rectangle should have a blue square in the top right corner, while the second rectangle
- should have a blue square in the top left corner.<br>
- Test fails is you see any red.
- </p>
-
- <article>
- <div class="flow right float"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- <div class="flow left float"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- </article>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-011.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-011.html
deleted file mode 100644
index 5a70d452a09..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-011.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: forced region break on float inside a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that forced region breaks on floats do not influence
- normal flow content flowed in the region together with the float.">
- <link rel="match" href="reference/floats-in-named-flow-011-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: blue;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .float {
- color: green;
- float: left;
- }
- .break {
- break-afer: region;
- }
- .region {
- flow-from: f;
- margin: 10px;
- width: 200px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares, horizontally side by side. The left square should be
- green and the right square should be blue.<br>
- Test fails is you see any red.
- </p>
-
- <article>
- <div class="flow">
- <!-- The break on the float should not affect content in the normal flow -->
- <div class="break float">
- <div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- xxxxx xxxxx xxxxx xxxxx xxxxx
- </div>
- </article>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-012.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-012.html
deleted file mode 100644
index 1a7e610bc7d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-012.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: floats with forced region breaks inside them</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#parallel-flows">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats in named flow contents are floated relative
- to the region container and not their initial container, even when multiple regions
- are involved.">
- <link rel="match" href="reference/floats-in-named-flow-012-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: blue;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .float {
- color: green;
- float: left;
- }
- .break {
- break-before: region;
- }
- .region {
- flow-from: f;
- margin: 10px;
- width: 200px;
- background: red;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two identical rows of colored squares. Each row should have three
- squares, from left to right as follows: blue, gray, green. The squares in a row should
- be flush to each other, but the two rows should have some space between them.<br>
- Test fails is you see any red.
- </p>
-
- <article>
- <div class="flow">
- <div class="float">
- <div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="break">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- <div>
- xxxxx xxxxx xxxxx xxxxx xxxxx
- </div>
- <div class="break">
- xxxxx xxxxx xxxxx xxxxx xxxxx
- </div>
- </div>
- </article>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-013.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-013.html
deleted file mode 100644
index 0ed9d360455..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-013.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: regions wholly contain floates flowed in them</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that regions create new block formatting contexts
- that wholly contain the floats flowed in them.">
- <link rel="match" href="reference/floats-in-named-flow-013-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .float {
- color: lightblue;
- float: left;
- }
- .region-parent {
- background-color: red;
- width: 100px;
- }
- .region {
- flow-from: f;
- border-right: 20px solid lightblue;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a blue square and no red.
- </p>
-
- <article>
- <div class="flow float">
- <div>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- </div>
- </article>
-
- <div class="region-parent">
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-014.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-014.html
deleted file mode 100644
index 56387e6db8e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-014.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: float overflowing a fixed-sized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats flowed in a fixed size region and
- overflowing it do no interact with line boxes outside of the region. This is another
- side effect of the fact that regions create block formatting contexts.">
- <link rel="match" href="reference/floats-in-named-flow-013-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- overflow: hidden;
- }
- .flow {
- flow-into: f;
- }
- .float {
- color: lightblue;
- float: left;
- }
- .region {
- flow-from: f;
- width: 100px;
- height: 40px;
- }
-
- .region > p {
- background: red;
- }
-
- .error {
- background: red;
- width: 100px;
- height: 60px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a blue square and no red.
- </p>
-
- <article>
- <div class="flow float">
- <div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- </article>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="error">zambare</div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-015.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-015.html
deleted file mode 100644
index d94dc521cf8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-015.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: painting order for floats overflowing a region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that the painting order for floats flowed in a
- region is the same as if the floats were direct children of the region.">
- <link rel="match" href="reference/floats-in-named-flow-013-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lightblue;
- }
- .flow {
- flow-into: f;
- }
- .float {
- float: left;
- }
- .region {
- flow-from: f;
- width: 100px;
- height: 40px;
- }
-
- .region > p {
- background: red;
- }
-
- .error {
- color: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a blue square and no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <article>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- <div class="flow float">
- xxxxx<br>
- xxxxx<br>
- <span class="error">
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </span>
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-016.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-016.html
deleted file mode 100644
index 511836617ab..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-016.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: float overflowing its container does not interact with other line boxes
- when flowed in region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that a float that overflows its container does not
- interact with other line boxes when flowed in a region. In other words, floats flowed
- in regions are not taken into account when laying out sibling boxes that are not
- part of the same named flow.">
- <link rel="match" href="reference/floats-in-named-flow-016-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- color: blue;
- }
- .float {
- float: left;
- color: green;
- }
- .region {
- flow-from: f;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square and a horizontal blue rectangle side by side;
- they should have the top edges aligned and be flush to one another.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <article>
- <div class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- xxxxx<br>
- xxxxx
- </div>
- xxxxx<br>
- xxxxx
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-017.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-017.html
deleted file mode 100644
index 62ec78d496e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-017.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: float and non-float content with forced region break fragmented across
- two regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that forcing a region break on the containing box
- of a float will fragment the float across the regions.">
- <link rel="match" href="reference/floats-in-named-flow-017-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- }
- .float {
- float: left;
- color: blue;
- }
- .region {
- flow-from: f;
- margin: 20px;
- }
-
- .region > p {
- background: red;
- }
- #container {
- break-after: region;
- }
- #spacer {
- height: 10px;
- }
- </style>
- </head>
- <body>
- <!-- TODO: Must reconfirm this behavior based on the latest version of the fragmentation spec. -->
- <p>
- Test passes if you see two rows, each with two equally sized blue and green squares (blue
- on the left, green on the right); the squares should be flush to one another but there
- should be a small vertical space between the two rows.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div id="container">
- <div class="float">
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx</span>
- </div>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- <div id="spacer">&nbsp;</div>
- </div>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-018.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-018.html
deleted file mode 100644
index f9990d3303f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-018.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floats and cleared boxes are properly fragmented through regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that cleared content is properly fragmented in
- regions.">
- <link rel="match" href="reference/floats-in-named-flow-018-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- }
- .float {
- float: left;
- color: blue;
- }
-
- #region-container {
- float: left;
- }
- .region {
- flow-from: f;
- height: 100px;
- margin-bottom: 10px;
- border: 10px solid black;
- }
-
- .region > p {
- background: red;
- }
- #clear {
- clear: left;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div id="region-container">
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div id="clear">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-019.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-019.html
deleted file mode 100644
index f5bcdbab2f1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-019.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: cleared floats are properly fragmented through regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that cleared floats are properly fragmented through
- regions when the regions have an explicitly set height.">
- <link rel="match" href="reference/floats-in-named-flow-018-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
- }
- .float {
- float: left;
- color: blue;
- }
-
- #region-container {
- float: left;
- }
- .region {
- flow-from: f;
- height: 100px;
- margin-bottom: 10px;
- border: 10px solid black;
- }
-
- .region > p {
- background: red;
- }
- #clear {
- clear: left;
- color: green;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div id="region-container">
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div id="clear" class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-020.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-020.html
deleted file mode 100644
index f83b9bb96ff..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-020.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: cleared pseudo-elements (clearfix) in named flow contents</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats and cleared pseudoelements (clearfix)
- render in regions just as they render without regions.">
- <link rel="match" href="reference/floats-in-named-flow-020-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- }
- .float {
- float: left;
- }
-
- #float-container {
- width: 100px;
- border: 20px solid blue;
- border-left-width: 0;
- }
- /* "clear-fixed" container */
- #float-container::after {
- content: "";
- display: block;
- clear: both;
- }
- .region {
- flow-from: f;
- border-left: 20px solid blue;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square with a thick blue outline.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div id="float-container">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-021.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-021.html
deleted file mode 100644
index e7a19b40de6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-021.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: cleared non-float content after a forced region break</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that cleared non-float content after a float that
- also has a forced region break does not lead to an empty region.">
- <link rel="match" href="reference/floats-in-named-flow-021-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .float {
- float: left;
- color: blue;
- break-after: region;
- }
-
- .clear {
- clear: left;
- color: green;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- flow-from: f;
- max-height: 100px;
- max-width: 100px;
- margin-bottom: 10px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <!-- In case the clear + forced break lead to an empty region, the content will flow in this
- third region ending up without a border. -->
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- <div class="clear">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-022.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-022.html
deleted file mode 100644
index 4a356666870..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-022.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: float and non-float content floated in different named flows</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floated content flowed in a named flow does
- not change the rendering for non-float content flowed in a different named flow.">
- <link rel="match" href="reference/floats-in-named-flow-021-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .float {
- float: left;
- color: blue;
- flow-into: f;
- }
-
- .non-float {
- color: green;
- flow-into: n;
- }
-
- .region {
- max-height: 100px;
- max-width: 100px;
- margin-bottom: 10px;
- border: 10px solid black;
- }
-
- .region > p {
- background: red;
- }
-
- .from-float {
- flow-from: f;
- }
- .from-non-float {
- flow-from: n;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div class="region from-float">
- <p>&nbsp;</p>
- </div>
- <div class="region from-non-float">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- <div class="non-float">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-023.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-023.html
deleted file mode 100644
index 19386d87444..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-023.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: inline floats and non-float contents inside a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that inline floats and non-floated elements flowed
- into regions render the same as they would without regions.">
- <link rel="match" href="reference/floats-in-named-flow-023-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- }
- .float {
- float: left;
- color: blue;
- }
-
- .region {
- /*max-height: 100px;
- max-width: 100px;*/
- border: 10px solid black;
- display: inline-block;
- flow-from: f;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares inside a black rectangular border. The left square
- should be blue, the right square should be green, and the squares should be flush to one
- another.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <span class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </span>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-024.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-024.html
deleted file mode 100644
index fd472b55d9a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-024.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: float with relative sizing fragmented in differently sized regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that the fragments of floats with relative sizing
- (width specified using percents) that are fragmented in regions with varying sizes
- will be sized relative to each separate region.">
- <link rel="match" href="reference/floats-in-named-flow-024-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- flow-into: f;
- }
- .float {
- width: 50%;
- float: right;
- color: blue;
- }
-
- .region {
- width: 200px;
- height: 100px;
- border: 10px solid black;
- margin-bottom: 10px;
- flow-from: f;
- }
-
- .wide {
- width: 400px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two black bordered rectangles separated by a small vertical space.
- The bottom rectangle should be twice as wide as the top one and both rectangles should
- have the left half green and the right half blue.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="wide region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="float">xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;</div>
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-025.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-025.html
deleted file mode 100644
index c5ed63f5248..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-025.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: painting order for floats and relatively positioned content</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats and relatively positioned content are
- painted in the same order when flowed into region as when they are not flowed into
- regions.">
- <link rel="match" href="reference/floats-in-named-flow-025-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
-
- }
- .float {
- float: left;
- color: red;
- position: relative;
- }
-
- .content {
- color: green;
- position: relative;
- left: -100px;
- }
-
- .region {
- flow-from: f;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-026.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-026.html
deleted file mode 100644
index f0daf87d445..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-026.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: painting order for fragmented floats that are stacking contexts</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats inside a named flow that also create a
- stacking context respect the correct painting order even when fragmented across
- multiple regions that are overlapping.">
- <link rel="match" href="reference/floats-in-named-flow-026-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- flow-into: f;
-
- }
- .float {
- float: left;
- position: relative;
- z-index: 1;
- }
-
- .back {
- color: green;
- position: relative;
- z-index: 10;
- }
-
- .front {
- color: red;
- z-index: 20;
- }
-
- .content {
- color: blue;
- }
-
- .region {
- /* The region is 115px tall to catch bugs where the floats would be
- sliced rather than properly fragmented */
- height: 115px;
- flow-from: f;
- }
-
- .shifted {
- position: relative;
- /* See the above comment about the region height */
- top: -115px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares, side by side horizontally. The left square should
- be green, the right one should be blue and they should be flush to one another.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="shifted region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="float">
- <span class="front">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- </span>
- <span class="back">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </span>
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-027.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-027.html
deleted file mode 100644
index e87cdafb021..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-027.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floats outside of the region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that floats outside of the region do not interact
- with the line boxes of the content flowed in regions. This is the effect of the fact
- that regions are block formatting contexts.">
- <link rel="match" href="reference/floats-in-named-flow-027-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 240px;
- background: red;
- }
- .flow {
- flow-into: f;
- color: blue;
- margin-left: 120px;
- border: 10px solid lightblue;
- }
-
- .float {
- float: left;
- color: green;
- border: 10px solid lightgreen;
- }
-
- .region {
- width: 240px;
- flow-from: f;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares flush side by side.<br>
- The left square should be green with a light green border and the right one should be
- blue with a light blue border.<br>
- You should see no red.
- </p>
-
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="flow">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-028.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-028.html
deleted file mode 100644
index 1d2bbb10388..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-028.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: floats and non-floats content flowed in a shrink-to fit autosized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that an autosized region that has display: inline-block
- is properly sized when the content flowed in it has both floats and non-floats elements.">
- <link rel="match" href="reference/floats-in-named-flow-023-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: blue;
- }
- .flow {
- flow-into: f;
- }
- .float {
- float: right;
- color: green;
- }
-
- .region {
- border: 10px solid black;
- display: inline-block;
- flow-from: f;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares inside a black rectangular border. The left square
- should be blue, the right square should be green, and the squares should be flush to one
- another.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <span class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </span>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-029.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-029.html
deleted file mode 100644
index 5ed45e5d2e6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-029.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: margins around forced breaks when break is around float</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#break-margins">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#parallel-flows">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that margins are correctly preserved when content
- has floats and is fragmented via forced breaks.">
- <link rel="match" href="reference/floats-in-named-flow-029-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .break {
- break-before: region;
- }
-
- .spaced {
- margin: 1em 2em 3em 5em;
- color: green;
- }
-
- .float {
- float: left;
- color: blue;
- }
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- flow-from: f;
- float: left;
- margin-left: 10px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares each inside a black-bordered rectangle:
- <ul>
- <li>The black-bordered rectangles should be separated by a small horizontal space</li>
- <li>The colored squares should be positioned roughly in the top-left area of their
- rectangles, but without being flush to any of its sides</li>
- </ul><br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <p>&nbsp;</p>
- </div><div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="spaced float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="break spaced">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-030.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-030.html
deleted file mode 100644
index 3527149b668..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-030.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: margins around unforced breaks when break is around float</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#break-margins">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#parallel-flows">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that margins are correctly preserved when content
- has floats and is fragmented via unforced breaks.">
- <link rel="match" href="reference/floats-in-named-flow-030-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .spaced {
- margin: 1em 2em 3em 5em;
- color: green;
- }
-
- .float {
- float: left;
- color: blue;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- flow-from: f;
- /* float: left; is used to trigger shrink-to-fit sizing */
- float: left;
- margin-left: 10px;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares each inside a black-bordered rectangle:
- <ul>
- <li>The black-bordered rectangles should be separated by a small vertical space</li>
- <li>The green square should have its top edge flush with the top border of its
- containing rectangle</li>
- </ul>
- You should see no red.
- </p>
-
- <div class="bordered region" style="height: 125px;">
- <p>&nbsp;</p>
- </div><div class="bordered region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <article class="flow">
- <div class="spaced float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="spaced">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-031.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-031.html
deleted file mode 100644
index 819185d311b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-031.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: margins around float and non-float content</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that margins do not collapse for content flowed
- inside a region, both for float and non-float contents.">
- <link rel="match" href="reference/floats-in-named-flow-031-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .float {
- float: left;
- color: blue;
- margin: 1em 2em 3em 4em;
- }
-
- .outer-container {
- display: inline-block;
- border: 10px solid black;
- }
-
- .regions-container {
- margin: 20px 15px 10px 5px;
- }
-
- .content {
- margin: 2px 4px 8px 16px;
- color: green;
- }
-
- .region {
- flow-from: f;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares inside a black-bordered rectangle.<br>
- The first (top to bottom) square should be blue, while the second should be green.<br>
- The blue square should be roughly horizontally centered and the green square should be
- near the bottom left corner of the rectangle. Neither square should touch the black border.<br>
- You should see no red.
- </p>
-
- <div class="outer-container">
- <div class="regions-container">
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </div>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-032.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-032.html
deleted file mode 100644
index d2263281ba5..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-032.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: padding around float and non-float content</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that paddings for floats and non-floats are properly
- computed when they are flowed in shrink-to-fit regions.">
- <link rel="match" href="reference/floats-in-named-flow-032-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .float {
- float: left;
- color: blue;
- padding: 1em 2em 3em 4em;
- }
-
- .outer-container {
- /* display: inline-block; to trigger shrink to fit sizing */
- display: inline-block;
- border: 10px solid black;
- }
-
- .regions-container {
- padding: 20px 15px 10px 5px;
- }
-
- .content {
- padding: 2px 4px 8px 16px;
- color: green;
- }
-
- .region {
- flow-from: f;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares inside a black-bordered rectangle.<br>
- The first (top to bottom) square should be blue, while the second should be green.<br>
- The blue square should be roughly horizontally centered and the green square should be
- near the bottom left corner of the rectangle. Neither square should touch the black border.<br>
- You should see no red.
- </p>
-
- <div class="outer-container">
- <div class="regions-container">
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </div>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-033.html b/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-033.html
deleted file mode 100644
index 4374e7145cd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/floats-in-named-flow-033.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: borders around float and non-float content</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that borders for floats and non-floats are properly
- computed and painted when the elements are flowed in shrink-to-fit regions.">
- <link rel="match" href="reference/floats-in-named-flow-033-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .flow {
- flow-into: f;
- }
-
- .float {
- float: left;
- color: blue;
- border: solid purple;
- border-width: 4px 24px 12px 16px ;
- margin-left: -12px;
- }
-
- .regions-container {
- padding: 20px 15px 10px 5px;
- float: left;
- }
-
- .content {
- color: green;
- border: solid lime;
- border-width: 12px 16px 4px 12px;
- margin-bottom: -12px;
- }
-
- .region {
- flow-from: f;
- border: 12px solid black;
- }
-
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares with differently colored borders:
- <ul>
- <li>Both squares should be inside a vertical black-bordered rectangle that lacks the
- bottom border</li>
- <li>The first (blue) square should have an irregular width purple border that overlaps
- the whole width of the left black border of the containing rectangle</li>
- <li>The second (green) square should have an irregular light green border: the top
- edge of the border should be invisible (zero width) while the bottom border should
- be thin and overlap the whole width of the bottom black border of the containing
- rectangle</li>
- </ul>
- You should see no red.
- </p>
-
- <div class="regions-container">
- <div class="region">
- <p>&nbsp;</p>
- </div>
- </div>
-
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-001-ref.html
deleted file mode 100644
index 31cd9ad49d7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-001-ref.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- }
- .blue {
- color: blue;
- border-color: blue;
- }
-
- .green {
- color: green;
- border-color: green;
- }
-
- #region-container {
- /* Inherited properties from test (old `article` selector) */
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- /* Own properties from test */
- border: 10px solid black;
- overflow: hidden;
- }
-
- .right {
- border-left-width: 20px;
- border-left-style: solid;
- float: right;
- }
-
- .left {
- border-right-width: 20px;
- border-right-style: solid;
- float: left;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a horizontal, black-bordered rectangle with a green square at its
- left end and a blue square at its right end. The rectangle should be approximately as
- wide as the page.<br>
- You should see no red.
- </p>
- <div id="region-container">
- <div class="region right blue">
- <div class="blue">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- </div>
- <div class="region left green">
- <div class="green break">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-002-ref.html
deleted file mode 100644
index 25a261179d9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-002-ref.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .float {
- float: left;
- width: 100px;
- height: 100px;
- margin-right: 10px;
- }
-
- .green {
- background: green;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see four green squares separated by a small horizontal space.<br>
- You should see no red.
- </p>
-
-
- <article>
- <div class="float green"></div>
- <div class="float green"></div>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="float green">div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-003-ref.html
deleted file mode 100644
index 45dfa2c7fd8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-003-ref.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .float {
- float: left;
- border: 10px solid black;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square with a thick black outline.<br>
- You should see no red.
- </p>
-
-
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-004-ref.html
deleted file mode 100644
index 3dbe4d5654f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-004-ref.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .flow {
- color: green;
- }
- .inner-flow {
- color: blue;
- }
-
- .region {
- border: 10px solid black;
- }
-
- .float {
- float: right;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a horizontal, black-bordered rectangle with a green square at its
- left end and a blue square at its right end. The rectangle should be approximately as
- wide as the page.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article class="flow">
- <div class="inner-flow float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-005-ref.html
deleted file mode 100644
index 84e636ba12f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floated-regions-005-ref.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .blue {
- color: blue;
- }
- .green {
- color: green;
- }
- .left {
- float: left;
- }
- .sized {
- max-height: 100px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you two squares side by side. The left one should be green, the right one
- should be blue and they should be flush to one another.<br>
- You should see no red.
- </p>
-
- <div class="sized left region">
- <article>
- <div class="green">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- <div class="region">
- <article>
- <div class="blue">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-001-ref.html
deleted file mode 100644
index 8c9cf1982cf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-001-ref.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .float {
- float: left;
- color: blue;
- margin: 2px 4px 6px 8px;
- }
-
- .green {
- color: green;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- margin-bottom: 10px;
- display: inline-block;
- overflow: hidden;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- <div class="bordered region">
- <article>
- <div class="green">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
-
- <article class="flow">
- </article>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-002-ref.html
deleted file mode 100644
index eb4dd9442f1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-clear-breaks-002-ref.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .float {
- float: left;
- color: blue;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- overflow: hidden;
- max-width: 100px;
- margin-bottom: 10px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <article>
- <div class="float">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </article>
- </div>
- <div class="bordered region">
- <article>
- <div>
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-001-ref.html
deleted file mode 100644
index 454de85b43d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-001-ref.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .flow {
- text-align: right;
- color: gray;
- }
- .float {
- width: 50px;
- height: 50px;
- background-color: lightblue;
- float: left;
- }
- .region {
- max-width: 150px;
- margin: 5px;
- border: 2px solid black;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see some filler gray text and a light blue square in the top left
- corner of black-bordered rectangle.<br>
- Test fails is you see any red.
- </p>
- <div class="region">
- <div class="flow">
- <div class="float"></div>
- This is filler text. This is filler text. This is filler text. This is filler text. This is filler text.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-002-ref.html
deleted file mode 100644
index 3b668e88e09..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-002-ref.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .flow {
- color: gray;
- }
- .float {
- width: 50px;
- height: 50px;
- }
- .right {
- float: right;
- background: lightgreen;
- }
- .left {
- float: left;
- background: lightblue;
- }
- .region {
- width: 200px;
- border: 2px solid black;
- margin: 5px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a black-bordered rectangle with the following contents: a light blue
- square in the top left corner, a light green square in the top right with some filler gray
- text in between the squares and under them.<br>
- Test fails is you see any red.
- </p>
- <div class="region">
- <div class="flow">
- <div class="float right"></div>
- <div class="float left"></div>
- This is filler text. This is filler text. This is filler text. This is filler text. This is filler text. This is filler text. This is filler text.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-003-ref.html
deleted file mode 100644
index 0a517ab65bb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-003-ref.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .float {
- width: 50px;
- height: 50px;
- }
- .right {
- float: right;
- background: lightgreen;
- }
- .left {
- float: left;
- background: lightblue;
- }
- .region {
- width: 150px;
- margin: 5px;
- background: yellow;
- overflow: hidden;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see three squares, side by side, as follows: from left
- to right, a light blue square, a yellow square and a light green square,
- all flush to each other.<br>
- Test fails is you see any red.
- </p>
- <div class="region">
- <div class="flow float right"></div>
- <div class="flow float left"></div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-004-ref.html
deleted file mode 100644
index da9c45425e1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-004-ref.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .right {
- float: right;
- }
- .left {
- float: left;
- }
- .green {
- background: lime;
- height: 100px;
- width: 50px;
- }
- .blue {
- background: lightblue;
- width: 50px;
- height: 50px;
- }
- .purple {
- background: purple;
- width: 100px;
- height: 50px;
- }
- .region {
- float: left;
- border-right: 25px solid black;
- margin: 5px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see four colored rectangles, as follows: a horizontal purple rectangle,
- a vertical green rectangle, a blue square and a narrow vertical black rectangle. The
- rectangles should be all flush to each other and have their top edges aligned.<br>
- Test fails is you see any red.
- </p>
-
-
- <!-- The region is auto-sized but since it has float: left it will shrink to fit -->
- <div class="region">
- <div class="flow right blue"></div>
- <div class="flow right green"></div>
- <div class="flow left purple"></div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-005-ref.html
deleted file mode 100644
index 16e97261c86..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-005-ref.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .flow {
- color: gray;
- }
- .floater {
- width: 20%;
- height: 50px;
- background-color: lightblue;
- }
- .left {
- float: left;
- }
- .right {
- float: right;
- }
- .region {
- width: 250px;
- margin: 5px;
- border: 2px solid black;
- }
- </style>
- </head>
- <body>
- <div class="dummy-bfc">
- </div>
-
- <p>
- Test passes if you see some filler gray text and three blue squares inside a black-bordered
- rectangle. One blue square should be in the top left corner, another in the top right
- corner and the third one should be somewhere along the left border, below the top-left
- one.<br>
- Test fails is you see any red.
- </p>
-
- <div class="region">
- <div class="flow floater left"></div>
- <div class="flow">
- <div class="floater right"></div>
- This is filler text. This is filler text. This is filler text. This is filler text. This
- is filler text. This is filler text. This is filler text. This is filler text. This is
- filler text. This is filler text. This is filler text. This is filler text. This is
- filler text. This is filler text. This is filler text. This is filler text. This is
- <div class="floater left"></div>
- filler text. This is filler text. This is filler text. This is filler text. This is
- filler text. This is filler text. This is filler text. This is filler text.
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html
deleted file mode 100644
index aeba68a527c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-006-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flow {
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .floater {
- width: 60px;
- height: 60px;
- background-color: lightblue;
- }
- .left {
- float: left;
- }
- .right {
- float: right;
- }
- .region {
- width: 200px;
- height: 100px;
- margin: 5px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two gray rectangles, each with a blue square inside it. The first
- rectangle should have a blue square in the top right corner, while the second rectangle
- should have a blue square in the top left corner.<br>
- Test fails is you see any red.
- </p>
-
-
- <div class="region">
- <div class="flow floater right"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- </div>
- <div class="region">
- <div class="flow floater left"></div>
- <div class="flow">
- xxxxxxx
- xxxxxxx
- xxxxxxx
- xxxxxxxxxx
- xxxxxxxxxx
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-009-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-009-ref.html
deleted file mode 100644
index b1d011b364a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-009-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .left-floater {
- float: left;
- color: lightblue;
- }
- .right-floater {
- float: right;
- color: lightgreen;
- }
- .region {
- width: 180px;
- height: 60px;
- margin: 10px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two identical rows of colored squares. Each row should have three
- squares, from left to right as follows: blue, gray, green. The squares in a row should
- be flush to each other, but the two rows should have some space between them.<br>
- Test fails is you see any red.
- </p>
-
-
-
- <div class="region">
- <article>
- <div class="flow right-floater">xxx<br>xxx<br>xxx</div>
- <div class="flow left-floater">xxx<br>xxx<br>xxx</div>
- <div class="flow">
- xxx
- xxx
- xxx
- </div>
- </article>
- </div>
- <div class="region">
- <article>
- <div class="flow right-floater">xxx<br>xxx<br>xxx</div>
- <div class="flow left-floater">xxx<br>xxx<br>xxx</div>
- <div class="flow">
- xxx
- xxx
- xxx
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-011-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-011-ref.html
deleted file mode 100644
index 5044c77fa23..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-011-ref.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: blue;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .float {
- color: green;
- float: left;
- }
- .region {
- margin: 10px;
- width: 200px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares, horizontally side by side. The left square should be
- green and the right square should be blue.<br>
- Test fails is you see any red.
- </p>
-
- <article>
- </article>
-
- <div class="region">
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- <div class="region">
- <article>
- <div class="flow">
- xxxxx xxxxx xxxxx xxxxx xxxxx
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-012-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-012-ref.html
deleted file mode 100644
index ec4eeff7d91..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-012-ref.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: blue;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .float {
- color: green;
- float: left;
- }
- .region {
- margin: 10px;
- width: 200px;
- background: red;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two identical rows of colored squares. Each row should have three
- squares, from left to right as follows: blue, gray, green. The squares in a row should
- be flush to each other, but the two rows should have some space between them.<br>
- Test fails is you see any red.
- </p>
-
-
- <div class="region">
- <article>
- <div class="flow">
- <div class="float">
- <div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- <div>
- xxxxx xxxxx xxxxx xxxxx xxxxx
- </div>
- </div>
- </article>
- </div>
- <div class="region">
- <article>
- <div class="flow">
- <div class="float">
- <div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- <div>
- xxxxx xxxxx xxxxx xxxxx xxxxx
- </div>
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-013-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-013-ref.html
deleted file mode 100644
index e974e3feaf2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-013-ref.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- color: gray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .float {
- color: lightblue;
- float: left;
- }
- .region-parent {
- width: 100px;
- }
- .region {
- border-right: 20px solid lightblue;
- overflow: hidden;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a blue square and no red.
- </p>
-
-
- <div class="region-parent">
- <div class="region">
- <article>
- <div class="flow float">
- <div>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- </div>
- </article>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-016-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-016-ref.html
deleted file mode 100644
index c91451cc7bc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-016-ref.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .flow {
- color: blue;
- overflow: hidden;
- }
- .float {
- float: left;
- color: green;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square and a horizontal blue rectangle side by side;
- they should have the top edges aligned and be flush to one another.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article>
- <div class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- xxxxx<br>
- xxxxx
- </div>
- xxxxx<br>
- xxxxx
- </article>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-017-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-017-ref.html
deleted file mode 100644
index 2998a3af57c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-017-ref.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .float {
- float: left;
- color: blue;
- }
- .region {
- margin: 20px;
- }
- #spacer {
- height: 10px;
- }
- </style>
- </head>
- <body>
- <!-- TODO: Must reconfirm this behavior based on the latest version of the fragmentation spec. -->
- <p>
- Test passes if you see two rows, each with two equally sized blue and green squares (blue
- on the left, green on the right); the squares should be flush to one another but there
- should be a small vertical space between the two rows.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article class="flow">
- <div>
- <div class="float">
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx</span>
- </div>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- <div id="spacer">&nbsp;</div>
- </div>
- </article>
- </div>
- <div class="region">
- <article class="flow">
- <div>
- <div class="float">
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx<br></span>
- <span>xxxx</span>
- </div>
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- </article>
- </div>
-
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-018-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-018-ref.html
deleted file mode 100644
index 2961fdd0e28..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-018-ref.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .float {
- float: left;
- color: blue;
- }
-
- #region-container {
- float: left;
- }
- .region {
- height: 100px;
- margin-bottom: 10px;
- border: 10px solid black;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div id="region-container">
- <div class="region">
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- <div class="region">
- <article>
- <div>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-020-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-020-ref.html
deleted file mode 100644
index a85e0e00ec1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-020-ref.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .float {
- float: left;
- }
- #float-container {
- width: 100px;
- border: 20px solid blue;
- border-left-width: 0;
- }
- /* "clear-fixed" container */
- #float-container::after {
- content: "";
- display: block;
- clear: both;
- }
- .region {
- border-left: 20px solid blue;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square with a thick blue outline.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article class="flow">
- <div id="float-container">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- </article>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-021-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-021-ref.html
deleted file mode 100644
index 37e5b42c94e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-021-ref.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .float {
- float: left;
- color: blue;
- }
-
- .clear {
- clear: left;
- color: green;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- max-height: 100px;
- max-width: 100px;
- margin-bottom: 10px;
- overflow: hidden;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares separated by a small vertical space. The squares should
- have a black outline, the top square should be blue and the bottom one should be green.<br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <article class="flow">
- <div class="float">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </article>
- </div>
- <div class="bordered region">
- <article class="flow">
- <div class="clear">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-023-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-023-ref.html
deleted file mode 100644
index 14699180ef0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-023-ref.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .float {
- float: left;
- color: blue;
- }
- .region {
- border: 10px solid black;
- display: inline-block;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares inside a black rectangular border. The left square
- should be blue, the right square should be green, and the squares should be flush to one
- another.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article>
- <span class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </span>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </article>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-024-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-024-ref.html
deleted file mode 100644
index 865fdbef760..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-024-ref.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .float {
- width: 50%;
- float: right;
- color: blue;
- }
-
- .region {
- width: 200px;
- height: 100px;
- border: 10px solid black;
- margin-bottom: 10px;
- }
-
- .wide {
- width: 400px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two black bordered rectangles separated by a small vertical space.
- The bottom rectangle should be twice as wide as the top one and both rectangles should
- have the left half green and the right half blue.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article>
- <div class="float">xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx</div>
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx
- </article>
- </div>
- <div class="wide region">
- <article>
- <div class="float">xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;</div>
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;
- </article>
- </div>
-
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-025-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-025-ref.html
deleted file mode 100644
index 285a96836f0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-025-ref.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .content {
- color: green;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green square.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-026-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-026-ref.html
deleted file mode 100644
index efc23cc6381..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-026-ref.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .float {
- float: left;
- color: green;
- }
- .content {
- color: blue;
- }
- .region {
- /* The region is 115px tall to catch bugs where the floats would be
- sliced rather than properly fragmented */
- height: 115px;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares, side by side horizontally. The left square should
- be green, the right one should be blue and they should be flush to one another.<br>
- You should see no red.
- </p>
-
- <div class="region">
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-027-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-027-ref.html
deleted file mode 100644
index ff55dc55ea1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-027-ref.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 240px;
- background: red;
- }
- .flow {
- color: blue;
- }
- .float {
- float: left;
- color: green;
- border: 10px solid lightgreen;
- }
-
- .region {
- overflow: hidden;
- border: 10px solid lightblue;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares flush side by side.<br>
- The left square should be green with a light green border and the right one should be
- blue with a light blue border.<br>
- You should see no red.
- </p>
-
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="region">
- <div class="flow">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- </article>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-029-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-029-ref.html
deleted file mode 100644
index adffd0f2d4a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-029-ref.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .spaced {
- margin: 1em 2em 3em 5em;
- color: green;
- }
-
- .float {
- float: left;
- color: blue;
- }
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- display: inline-block;
- float: left;
- margin-left: 10px;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares each inside a black-bordered rectangle:
- <ul>
- <li>The black-bordered rectangles should be separated by a small horizontal space</li>
- <li>The colored squares should be positioned roughly in the top-left area of their
- rectangles, but without being flush to any of its sides</li>
- </ul><br>
- You should see no red.
- </p>
-
- <div class="bordered region">
- <article>
- <div class="spaced float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div><div class="bordered region">
- <article>
- <div class="break spaced">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-030-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-030-ref.html
deleted file mode 100644
index 424d73aee03..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-030-ref.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .spaced {
- margin: 0 2em 3em 5em;
- color: green;
- }
- .float {
- margin-top: 1em;
- float: left;
- color: blue;
- }
-
- .bordered {
- border: 10px solid black;
- }
-
- .region {
- /* float: left; is used to trigger shrink-to-fit sizing */
- float: left;;
- margin-left: 10px;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares each inside a black-bordered rectangle:
- <ul>
- <li>The black-bordered rectangles should be separated by a small vertical space</li>
- <li>The green square should have its top edge flush with the top border of its
- containing rectangle</li>
- </ul>
- You should see no red.
- </p>
-
- <div class="bordered region" style="height: 125px;">
- <article>
- <div class="spaced float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div><div class="bordered region">
- <article>
- <div class="spaced">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-031-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-031-ref.html
deleted file mode 100644
index f5135cf6f79..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-031-ref.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .float {
- float: left;
- color: blue;
- margin: 1em 2em 3em 4em;
- }
- .outer-container {
- display: inline-block;
- border: 10px solid black;
- }
- .regions-container {
- margin: 20px 15px 10px 5px;
- }
- .content {
- margin: 2px 4px 8px 16px;
- color: green;
- }
- .region {
- overflow: hidden;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares inside a black-bordered rectangle.<br>
- The first (top to bottom) square should be blue, while the second should be green.<br>
- The blue square should be roughly horizontally centered and the green square should be
- near the bottom left corner of the rectangle. Neither square should touch the black border.<br>
- You should see no red.
- </p>
-
- <div class="outer-container">
- <div class="regions-container">
- <div class="region">
- <article class="flow">
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </div>
- </div>
-
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-032-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-032-ref.html
deleted file mode 100644
index cd997eeaa16..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-032-ref.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .float {
- float: left;
- color: blue;
- padding: 1em 2em 3em 4em;
- }
-
- .outer-container {
- display: inline-block;
- border: 10px solid black;
- }
-
- .regions-container {
- padding: 20px 15px 10px 5px;
- }
-
- .content {
- padding: 2px 4px 8px 16px;
- color: green;
- }
- </style>
- </head>
- <body>
- <p>
- <!-- TODO Determine what the outcome should be - currently expecting a resolution on
- the issue on www-style/css3-break -->
- Test passes if you see two colored squares inside a black-bordered rectangle.<br>
- The first (top to bottom) square should be blue, while the second should be green.<br>
- The blue square should be roughly horizontally centered and the green square should be
- near the bottom left corner of the rectangle. Neither square should touch the black border.<br>
- You should see no red.
- </p>
-
- <div class="outer-container">
- <div class="regions-container">
- <div>
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </div>
- </div>
-
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-033-ref.html b/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-033-ref.html
deleted file mode 100644
index 892fc993b58..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/floats/reference/floats-in-named-flow-033-ref.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- article {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
-
- .float {
- float: left;
- color: blue;
- border: solid purple;
- border-width: 4px 24px 12px 16px ;
- margin-left: -12px;
- }
-
- .regions-container {
- padding: 20px 15px 10px 5px;
- float: left;
- }
-
- .content {
- color: green;
- border: solid lime;
- border-width: 12px 16px 4px 12px;
- margin-bottom: -12px;
- }
- .region {
- border: 12px solid black;
- /* float: left; to make it a block formatting context */
- float: left;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see two squares with differently colored borders:
- <ul>
- <li>Both squares should be inside a vertical black-bordered rectangle that lacks the
- bottom border</li>
- <li>The first (blue) square should have an irregular width purple border that overlaps
- the whole width of the left black border of the containing rectangle</li>
- <li>The second (green) square should have an irregular light green border: the top
- edge of the border should be invisible (zero width) while the bottom border should
- be thin and overlap the whole width of the bottom black border of the containing
- rectangle</li>
- </ul>
- You should see no red.
- </p>
-
- <div class="regions-container">
- <div class="region">
- <article>
- <div class="float">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </article>
- </div>
- </div>
-
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-content-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-content-001-ref.xht
deleted file mode 100644
index 2a6f3282d93..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-content-001-ref.xht
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Redirect content to a region</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- #source{
- color: green;
- }
- </style>
- </head>
- <body>
- <p>
- The words "flow content" in green should be in a single line below.
- </p>
- <div id="source">
- flow content
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-content-001.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-content-001.xht
deleted file mode 100644
index 83b8785a79d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-content-001.xht
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Redirect content to a region</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="flow-content-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="Content placed into a named flow with the flow-into property should display in the element whose flow-from property specifies that named flow."/>
- <style type="text/css">
- .source{
- flow-into: main-thread;
- color: green;
- }
- .region{
- flow-from: main-thread;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <div class="source">
- flow content
- </div>
- <p>
- The words "flow content" in green should be in a single line below.
- </p>
- <div class="region">
- <div class="error">FAIL.</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-content-002-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-content-002-ref.xht
deleted file mode 100644
index 262d8ed66ea..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-content-002-ref.xht
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Redirect content through two regions</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- .source{
- color: green;
- height: 2em;
- }
- </style>
- </head>
- <body>
- <div class="source">line one</div>
- <p>
- The words "line one" should appear on a single line above, and the words "line two" should appear on a single line below.
- </p>
- <div class="source">line two</div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-content-002.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-content-002.xht
deleted file mode 100644
index efa39f55005..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-content-002.xht
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Redirect content through two regions</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="flow-content-002-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="If multiple elements have their flow-from property set to a named flow, the named flow content will be consumed by the chain of elements."/>
- <style type="text/css">
- .source{
- flow-into: main-thread;
- color: green;
- }
- .region{
- flow-from: main-thread;
- width: 10em;
- height: 2em;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <div class="source">
- <div>line one</div>
- <div>line two</div>
- </div>
- <div class="region">
- <div class="error">FAIL.</div>
- </div>
- <p>
- The words "line one" should appear on a single line above, and the words "line two" should appear on a single line below.
- </p>
- <div class="region">
- <div class="error">FAIL.</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-from-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-from-001-ref.xht
deleted file mode 100644
index bf4eb591dcc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-from-001-ref.xht
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region chain ordering</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- div{
- height: 20px;
- color: green;
- }
- </style>
- </head>
- <body>
- <p>This test passes if this is followed by three lines of text containing "1 2 3" in order.</p>
- <div>1</div>
- <div>2</div>
- <div>3</div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-from-001.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-from-001.xht
deleted file mode 100644
index 65a38c9d71c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-from-001.xht
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region chain ordering</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="flow-from-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="Regions are ordered in a region chain according to their document order."/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- .region{
- width: 5em;
- height: 20px;
- }
- .content{
- flow-into: counting;
- color: green;
- }
- .A{
- flow-from: counting;
- }
- .B{
- flow-from: counting;
- }
- .C{
- flow-from: counting;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <div class="content">
- <div>1</div>
- <div>2</div>
- <div>3</div>
- </div>
- <p>This test passes if this is followed by three lines of text containing "1 2 3" in order.</p>
- <div class="region C">
- <div class="error">FAIL</div>
- </div>
- <div class="region B">
- <div class="error">FAIL</div>
- </div>
- <div class="region A">
- <div class="error">FAIL</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001-ref.xht
deleted file mode 100644
index cfccb15c786..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001-ref.xht
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Regions apply only to block container boxes</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- div{
- height: 20px;
- }
- .result{
- color: green;
- }
- </style>
- </head>
- <body>
- <div>
- <p>This test passes if this is followed by three lines of text containing "1 2 3" in order.</p>
- <div class="result">
- <div>1</div>
- <span>2</span>
- <div>3</div>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001.xht
deleted file mode 100644
index 491a977c500..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-from-block-container-001.xht
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Regions apply only to block container boxes</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="flow-from-block-container-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="If a span has flow-from set, that declaration is ignored."/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- .region{
- width: 5em;
- height: 20px;
- }
- .content{
- flow-into: counting;
- color: green;
- }
- .A{
- flow-from: counting;
- }
- .B{
- flow-from: counting;
- }
- .C{
- flow-from: counting;
- }
- .error{
- color: red;
- }
- .success{
- color: green;
- }
- </style>
- </head>
- <body>
- <div>
- <div class="content">
- <div>1</div>
- <div>3</div>
- </div>
- <p>This test passes if this is followed by three lines of text containing "1 2 3" in order.</p>
- <div class="region C">
- <div class="error">FAIL.</div>
- </div>
- <span class="region B success">2</span>
- <div class="region A">
- <div class="error">FAIL.</div>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-001-ref.xht
deleted file mode 100644
index 8b1078464cf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-001-ref.xht
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: flow-into behavior</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- .result{
- color: green;
- line-height: 20px;
- }
- </style>
- </head>
- <body>
- <div>
- No text should appear above this line. Below should be lines with three green numbers each counting up to 18.
- </div>
- <div>&nbsp;</div>
- <div class="result">
- <div>1 2 3</div>
- <div>4 5 6</div>
- <div>7 8 9</div>
- <div>10 11 12</div>
- <div>13 14 15</div>
- <div>16 17 18</div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-001.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-001.xht
deleted file mode 100644
index 858928e9dd9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-001.xht
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: flow-into behavior</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="match" href="flow-into-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="Elements placed into a named flow follow document order. Children of flow elements can be placed in a different flow. Nested flow elements in the same flow become siblings. Flow-into is not inherited."/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- .source{
- color: green;
- }
- .region{
- width: 100%;
- height: 20px;
- }
- .disjointFlow{
- flow-into: disjoint-flow;
- }
- .disjointRegion{
- flow-from: disjoint-flow;
- }
- .emptyFlow{
- flow-into: empty-flow;
- }
- .emptyRegion{
- flow-from: empty-flow;
- }
- .parentFlow{
- flow-into: parent-flow;
- }
- .parentRegion{
- flow-from: parent-flow;
- }
- .childFlow{
- flow-into: child-flow;
- }
- .childRegion{
- flow-from: child-flow;
- }
- .nestedFlow{
- flow-into: nested-flow;
- }
- .nestedRegion{
- flow-from: nested-flow;
- }
- .noInheritFlow{
- flow-into: noInherit-flow;
- }
- .noInheritRegion{
- flow-from: noInherit-flow;
- }
- .autoFlow{
- flow-into: auto;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <div>
- <span class="source disjointFlow">
- 1 2
- </span>
- <div class="source parentFlow">
- 4
- <div class="source childFlow">7 8 9</div>
- 5 6
- </div>
- <span class="source disjointFlow">
- 3
- </span>
- <span class="source noInheritFlow">
- 13
- <span>
- 14
- </span>
- 15
- </span>
- <span class="source nestedFlow">
- 10
- <span class="source nestedFlow">
- 12
- </span>
- 11
- </span>
- </div>
- <div>
- No text should appear above this line. Below should be lines with three green numbers each counting up to 18.
- </div>
- <div class="region emptyRegion">
- <div class="error">FAIL - empty flow should replace this content.</div>
- </div>
- <div class="region disjointRegion">
- <div class="error">FAIL - disjoint flow should replace this content.</div>
- </div>
- <div class="region parentRegion">
- <div class="error">FAIL - parent flow should replace this content.</div>
- </div>
- <div class="region childRegion">
- <div class="error">FAIL - child flow should replace this content.</div>
- </div>
- <div class="region nestedRegion">
- <div class="error">FAIL - nested flow should replace this content.</div>
- </div>
- <div class="region noInheritRegion">
- <div class="error">FAIL - noInherit flow should replace this content.</div>
- </div>
- <div class="source flowIntoAuto">
- <div>16 17 18</div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001-ref.xht
deleted file mode 100644
index 66773da47cb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001-ref.xht
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Regions establish a new block formatting context</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- .blueBox{
- background-color: blue;
- width: 100px;
- height: 100px;
- float: left;
- }
- .floatLeft{
- float: left;
- width: 100px;
- height: 100px;
- background-color: green;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a blue square to the right of a green square.</p>
- <div class="floatLeft"></div>
- <div class="blueBox"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001.xht
deleted file mode 100644
index b8fc34b7d38..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-BFC-001.xht
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Regions establish a new block formatting context</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="flow-into-BFC-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="A region set next to a float will clear the float in a new block formatting context."/>
- <style type="text/css">
- .flow{
- flow-into: block;
- }
- .region{
- background-color: blue;
- height: 100px;
- width: 100px;
- flow-from: block;
- }
- .floatLeft{
- float: left;
- width: 100px;
- height: 100px;
- background-color: green;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a blue square to the right of a green square.</p>
- <div class="floatLeft"></div>
- <div class="region">
- <div class="error">FAIL</div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001-ref.xht
deleted file mode 100644
index faddfcdf5e2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001-ref.xht
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: invalid flow-into idents</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- .sourceWrapper{
- background-color: lightgreen;
- width: 10em;
- }
- .success{
- color: green;
- height: 20px;
- }
- </style>
- </head>
- <body>
- <p>You should see four words in a light green rectangle followed by four 'content not replaced…' lines.</p>
- <div class="sourceWrapper">
- <div>none</div>
- <div>inherit</div>
- <div>default</div>
- <div>initial</div>
- </div>
- <div class="success">content not replaced by none ident</div>
- <div class="success">content not replaced by inherit ident</div>
- <div class="success">content not replaced by default ident</div>
- <div class="success">content not replaced by initial ident</div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001.xht
deleted file mode 100644
index 21241516bd3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-invalid-names-001.xht
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: invalid flow-into idents</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="match" href="flow-into-invalid-names-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="If flow-into is set to an invalid ident, no flow is created. The flow content will stay in its green wrapper. Invalid idents with flow-from do not create a region."/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- .sourceWrapper{
- background-color: lightgreen;
- width: 10em;
- }
- .region{
- height: 20px;
- }
- .noneFlow{
- flow-into: none;
- }
- .noneRegion{
- flow-from: none;
- }
- .inheritFlow{
- flow-into: inherit;
- }
- .inheritRegion{
- flow-from: inherit;
- }
- .defaultFlow{
- flow-into: default;
- }
- .defaultRegion{
- flow-from: default;
- }
- .initialFlow{
- flow-into: initial;
- }
- .initialRegion{
- flow-from: initial;
- }
- .success{
- color: green;
- }
- </style>
- </head>
- <body>
- <p>You should see four words in a light green rectangle followed by four 'content not replaced…' lines.</p>
- <div class="sourceWrapper">
- <div class="source noneFlow">none</div>
- <div class="source inheritFlow">inherit</div>
- <div class="source defaultFlow">default</div>
- <div class="source initialFlow">initial</div>
- </div>
- <div class="region noneRegion">
- <div class="success">content not replaced by none ident</div>
- </div>
- <div class="region inheritRegion">
- <div class="success">content not replaced by inherit ident</div>
- </div>
- <div class="region defaultRegion">
- <div class="success">content not replaced by default ident</div>
- </div>
- <div class="region initialRegion">
- <div class="success">content not replaced by initial ident</div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-parsing-001.html b/tests/wpt/web-platform-tests/css/css-regions/flow-into-parsing-001.html
deleted file mode 100644
index 1827dc52cb9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-parsing-001.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Parsing Test: Parse flow-into property</title>
- <link rel="author" title="Jacob Goldstein" href="mailto:jacobg@adobe.com">
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <meta name="flags" content="dom">
- <meta name="assert" content="Value specified for the flow-into property should be parsed correctly.">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
-
- <body>
- <div id="log"></div>
-
- <script type="text/javascript">
- function testParse(declaration) {
- var div = document.createElement("div");
- div.setAttribute("style", declaration);
- return div.style.flowInto;
- }
-
- function testComputedStyle(value) {
- var div = document.createElement("div");
- document.body.appendChild(div);
- div.style.setProperty("flow-into", value);
- var flowComputedValue = getComputedStyle(div).getPropertyValue("flow-into");
- document.body.removeChild(div);
- return flowComputedValue;
- }
-
- function testNotInherited(parentValue, childValue) {
- var parentDiv = document.createElement("div");
- document.body.appendChild(parentDiv);
- parentDiv.style.setProperty("flow-into", parentValue);
- var childDiv = document.createElement("div");
- parentDiv.appendChild(childDiv);
- childDiv.style.setProperty("flow-into", childValue);
- var childFlowComputedValue = getComputedStyle(childDiv).getPropertyValue("flow-into");
- parentDiv.removeChild(childDiv);
- document.body.removeChild(parentDiv);
- return childFlowComputedValue;
- }
-
- test(function() {assert_equals(testParse("flow-into: none"), "none")}, "Test Parse none");
- test(function() {assert_equals(testParse("flow-into: first-flow"), "first-flow")}, "Test Parse first-flow");
- test(function() {assert_equals(testParse("flow-into: \'first flow\'"), "")}, "Test Parse 'first-flow'");
- test(function() {assert_equals(testParse("flow-into: ;"), "")}, "Test Parse ;");
- test(function() {assert_equals(testParse("flow-into: 1"), "")}, "Test Parse 1");
- test(function() {assert_equals(testParse("flow-into: 1.2"), "")}, "Test Parse 1.2");
- test(function() {assert_equals(testParse("flow-into: -1"), "")}, "Test Parse -1");
- test(function() {assert_equals(testParse("flow-into: 12px"), "")}, "Test Parse 12px");
-
- test(function() {assert_equals(testComputedStyle("none"), "none")}, "Test Computed Style none");
- test(function() {assert_equals(testComputedStyle(""), "none")}, "Test Computed Style ''");
- test(function() {assert_equals(testComputedStyle("\'first-flow\'"), "none")}, "Test Computed Style 'first-flow'");
- test(function() {assert_equals(testComputedStyle("first-flow"), "first-flow")}, "Test Computed Style first-flow");
- test(function() {assert_equals(testComputedStyle("12px"), "none")}, "Test Computed Style 12px ");
-
- test(function() {assert_equals(testNotInherited("none", "none"), "none")}, "Test Non-Inherited none, none");
- test(function() {assert_equals(testNotInherited("none", "child-flow"), "child-flow")}, "Test Non-Inherited none, child-flow");
- test(function() {assert_equals(testNotInherited("parent-flow", "none"), "none")}, "Test Non-Inherited parent-flow, none");
- test(function() {assert_equals(testNotInherited("parent-flow", "child-flow"), "child-flow")}, "Test Non-Inherited parent-flow, child-flow");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001-ref.xht
deleted file mode 100644
index 468b5a88c02..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001-ref.xht
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region children are formatted if directed to a flow</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- div{
- height: 20px;
- }
- .success{
- color: green;
- }
- </style>
- </head>
- <body>
- <p>This test passes if this is followed by two lines of text containing "1 2" in order.</p>
- <div class="success">1</div>
- <div class="success">2</div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001.xht b/tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001.xht
deleted file mode 100644
index 1d5966cc447..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/flow-into-region-children-001.xht
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region children are formatted if directed to a flow</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="flow-into-region-children-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="The two regions in this test will swap their children."/>
- <style type="text/css">
- body{
- font-size: 16px;
- line-height: 18px;
- }
- .region{
- width: 5em;
- height: 20px;
- }
- .contentOne{
- flow-into: one;
- color: green;
- }
- .contentTwo{
- flow-into: two;
- color: green;
- }
- .rOne{
- flow-from: one;
- }
- .rTwo{
- flow-from: two;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <p>This test passes if this is followed by two lines of text containing "1 2" in order.</p>
- <div class="region rOne"><div class="contentTwo">2</div></div>
- <div class="region rTwo"><div class="contentOne">1</div></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/idlharness.html b/tests/wpt/web-platform-tests/css/css-regions/idlharness.html
deleted file mode 100644
index 3d6f55c8073..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/idlharness.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html>
-<title>css-regions IDL tests</title>
-<link rel="help" href="https://drafts.csswg.org/css-regions/">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/resources/WebIDLParser.js"></script>
-<script src="/resources/idlharness.js"></script>
-<script>
- 'use strict';
-
- idl_test(
- ['css-regions'],
- ['cssom', 'dom'],
- idl_array => {
- idl_array.add_objects({
- Document: ['document'],
- })
- }
- );
-</script>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/inheritance.html b/tests/wpt/web-platform-tests/css/css-regions/inheritance.html
deleted file mode 100644
index 865a1b6b1c1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/inheritance.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Inheritance of CSS Regions properties</title>
-<link rel="help" href="https://drafts.csswg.org/css-regions/#property-index">
-<meta name="assert" content="Properties inherit or not according to the spec.">
-<meta name="assert" content="Properties have initial values according to the spec.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/css/support/inheritance-testcommon.js"></script>
-</head>
-<body>
-<div id="container">
- <div id="target"></div>
-</div>
-<script>
-assert_not_inherited('flow-from', 'none', 'foo');
-assert_not_inherited('flow-into', 'none', 'bar');
-assert_not_inherited('region-fragment', 'auto', 'break');
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html
deleted file mode 100644
index ecd99200f43..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on video element inside a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="dom interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on a video element that's part of a named flow properly displays the video in
- full screen">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <style>
- #content {
- flow-into: flow;
- }
- #region {
- flow-from: flow;
- }
- #region > p {
- background: red;
-
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>You should see a video playing below</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the video showing; the
- video should still play.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>Video should still play</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- <video controls autoplay width="432" height="240" muted loop>
- <source type="video/webm" src="support/green-at-15.ogv"></source>
- <source type="video/mp4" src="support/green-at-15.mp4"></source>
- </video>
- </div>
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "video");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-002.html
deleted file mode 100644
index 865792d176b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-002.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on image element inside a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="dom interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on an image element that's part of a named flow properly displays the image in
- full screen">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <style>
- #content {
- flow-into: flow;
- }
- #region {
- flow-from: flow;
- }
- #region > p {
- background: red;
-
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>You should see a picture of a cat below</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the picture being showed.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The picture of the cat should be visible, along with all the other initial content.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- <img src="support/cat.jpg" alt="A picture of a cat" width="320" height="240">
- </div>
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "img");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-003.html
deleted file mode 100644
index 2430052bd19..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-003.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on inline element inside a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="dom ahem interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on an inline element that's part of a named flow properly displays it in full screen">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- flow-into: flow;
- }
- #content span {
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- #region {
- flow-from: flow;
- }
- #region > p {
- background: red;
-
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>You should see a green square below</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the green block being visible.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The green block should be visible, along with all the other initial content.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- <span>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </span>
- </div>
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "#content span");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-004.html
deleted file mode 100644
index 7e18319a1b4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-004.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on block element inside a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="ahem dom interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on a block element that's part of a named flow properly displays it in full screen">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- flow-into: flow;
- }
- #content p {
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- #region {
- flow-from: flow;
- }
- #region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>You should see a green square below</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the green block being visible.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The green block should be visible, along with all the other initial content.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- <p>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </p>
- </div>
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "#content p");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-005.html
deleted file mode 100644
index ccaefdfa8ad..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-005.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on a fragmented block element inside a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="ahem dom interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on a block element that's part of a named flow and is fragmented displays both
- fragments it in full screen">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- flow-into: flow;
- }
- #content p {
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- .region {
- flow-from: flow;
- max-height: 60px;
- margin-right: 10px;
- float: left;
- }
- .region > p {
- background: red;
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>Below, you should see two horizontal green rectangles, side by side</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only a green square being visible.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The two green rectangles should be visible, along with all the other initial content.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- <p>
- xxxxxx<br>
- xxxxxx<br>
- xxxxxx<br>
- xxxxxx<br>
- xxxxxx<br>
- xxxxxx
- </p>
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "#content p");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-006.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-006.html
deleted file mode 100644
index eb824172f74..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-006.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on an element whose descendants
- are in a named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="dom ahem interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on an element whose descendants are part of a named flow will not show the
- descendants flowed in the region.">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content-parent {
- border: 10px solid blue;
- width: 80px;
- margin: 0 0 20px 0;
- }
- #content {
- flow-into: flow;
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- #region {
- flow-from: flow;
- }
- #region > p {
- background: red;
-
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>Below, you should see a horizontal blue rectangle and green square below it</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the blue rectangle being visible.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The blue rectangle should be visible, along with all the other initial content.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content-parent">
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "#content-parent");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-007.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-007.html
deleted file mode 100644
index 4b6f3310565..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-007.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on a fixed-size region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="ahem dom interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on a fixed-size region displays the region and the content flowed in it without
- resizing the region or reflowing the content.">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- flow-into: flow;
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- #region {
- flow-from: flow;
- width: 100px;
- height: 100px;
- }
- #region > p {
- background: red;
-
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>You should see a green square below</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the green block being visible.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The green block should be visible, along with all the other initial content.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx
- </div>
-
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "#region");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-008.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-008.html
deleted file mode 100644
index ef97e32bf9d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-008.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on an auto-sized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="ahem dom interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on an auto-sized region displays the region and the content flowed in it without
- resizing the window or reflowing the content.">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- flow-into: flow;
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- #region {
- flow-from: flow;
- width: auto;
- height: auto;
- }
- #region > p {
- background: red;
-
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>You should see a green horizontal line below</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the green line being visible.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The green block should be visible, along with all the other initial content.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx
- </div>
-
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "#region");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-009.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-009.html
deleted file mode 100644
index 08c586c6d52..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-009.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: using the :full-screen pseudo class to make a full-screen region auto-size</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#:fullscreen-pseudo-class" />
- <meta name="flags" content="ahem dom interact">
- <meta name="assert" content="This test checks that using the :full-screen pseudo class to
- make a region auto-sized works after calling the requestFullscreen() method
- on a fixed size region.">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- flow-into: flow;
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- #region {
- flow-from: flow;
- width: 100px;
- height: 100px;
- }
- #region > p {
- background: red;
-
- }
- #region:full-screen {
- width: auto;
- height: auto;
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>You should see a green square below</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with the green square turning
- into a thick green horizontal line.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>The green line should turn back into a green square and all the other
- initial content should become visible again.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx
- </div>
-
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", "#region");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-010.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-010.html
deleted file mode 100644
index d2f4b13b058..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/fullscreen-region-content-010.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: calling requestFullscreen() on a region that's part of a multiple regions
- region chain</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from" />
- <link rel="help" href="http://www.w3.org/TR/fullscreen/#api" />
- <meta name="flags" content="ahem interact">
- <meta name="assert" content="This test checks that calling the requestFullscreen() method
- on a region that is part of a multiple-regions region chain does not change the order
- in which content is flowed through the region chain.">
- <link rel="stylesheet" href="support/common.css" media="all">
- <script src="support/util.js"></script>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- flow-into: flow;
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- margin: 0;
- }
- #content .blue {
- color: lightblue;
- }
- .region {
- flow-from: flow;
- width: 100px;
- height: 100px;
- }
- .region > p {
- background: red;
-
- }
- </style>
- </head>
- <body>
- <section id="instructions">
- <ol>
- <li>You should see no red rectangles or squares before or during the text</li>
- <li>Below, you should see a green square, a light blue square and another green square, stacked vertically</li>
- <li>Click the <em>Go full screen</em> button below
- <ul>
- <li>The page should enter full screen mode, with only the light blue square being visible.</li>
- <li>The browser might display a permission window asking you to allow full
- screen on this page. Allow it.</li>
- </ul>
- </li>
- <li>Exit full screen (e.g. by pressing <em>Esc</em>)
- <ul>
- <li>All initial content should be visible again.</li>
- </ul>
- </li>
- </ol>
- <button>Go full screen</button>
- </section>
-
- <div id="content">
- <div>
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx
- </div>
- <div class="blue">
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx
- </div>
- <div>
- xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx&#8203;xxxxx
- </div>
- </div>
-
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="second region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
-
- <div id="fail-marker"></div>
-
- <script>
- makeFullScreenToggle("button", ".second.region");
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/cat.jpg b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/cat.jpg
deleted file mode 100644
index a4f14f54d60..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/cat.jpg
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/common.css b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/common.css
deleted file mode 100644
index f15133dcbc6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/common.css
+++ /dev/null
@@ -1,19 +0,0 @@
-button {
- margin: 10px 0;
-}
-
-#fail-marker {
- width: 50px;
- height: 50px;
- background: red;
- font-weight: bold;
- color: white;
- text-align: center;
- visibility: hidden;
-}
-
-#fail-marker::before {
- content: "FAIL";
- position: relative;
- top: 15px;
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.mp4 b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.mp4
deleted file mode 100644
index a9d2b979d41..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.mp4
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.ogv b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.ogv
deleted file mode 100644
index 50d59dfb38b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/green-at-15.ogv
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/util.js b/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/util.js
deleted file mode 100644
index 9d62d223d15..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/full-screen/support/util.js
+++ /dev/null
@@ -1,18 +0,0 @@
-function makeFullScreen(selector) {
- var element = document.querySelector(selector);
- if (selector) {
- selector.requestFullscreen();
- }
-}
-
-function makeFullScreenToggle(selector, targetSelector) {
- var button = document.querySelector(selector);
- button.addEventListener("click", function() {
- var element = document.querySelector(targetSelector);
- if (element.requestFullscreen) {
- element.requestFullscreen();
- } else {
- document.querySelector("#fail-marker").style.visibility = "visible";
- }
- })
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-001.html
deleted file mode 100644
index 9ef2efb9e47..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-001.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: CSS cursor on content node</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS cursors are properly displayed for content flowed into regions.">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lightblue;
- }
- #content p {
- flow-into: f;
- cursor: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAT0lEQVR42u2WMQoAIAwD+/9Px9VFoUJNhjvoKDmKhVQBQA9tYw3/LiGngJwChBN+CtfjWMOvEp0HIwL2DUT8gYgrQAKJyD4Q0YgiOiHACAvTEtAwKdXD6AAAAABJRU5ErkJggg==") 1 17, w-resize;
- }
- #region {
- width: 100px;
- height: 100px;
- flow-from: f;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <p>The test fails if you see any red or if any of the expected results below don't happen.</p>
- <ol>
- <li>You should see a blue square below.</li>
- <li>
- Move the mouse over the blue square. <strong>Expected: </strong>The mouse cursor should change to a large, left pointing, black arrow.</li>
- </li>
- </ol>
- <div id="content">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-002.html
deleted file mode 100644
index 29248365a54..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-cursor-002.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: CSS cursor on region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS cursors are properly displayed even when an element is turned into a region">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lightgreen;
- }
- #content p {
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- flow-from: f;
- cursor: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAT0lEQVR42u2WMQoAIAwD+/9Px9VFoUJNhjvoKDmKhVQBQA9tYw3/LiGngJwChBN+CtfjWMOvEp0HIwL2DUT8gYgrQAKJyD4Q0YgiOiHACAvTEtAwKdXD6AAAAABJRU5ErkJggg==") 1 17, w-resize;
- border-left: 100px solid lightblue;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <p>The test fails if you see any red or if any of the expected results below don't happen.</p>
- <ol>
- <li>You should see a green and a blue square below.</li>
- <li>
- Move the mouse over the blue square. <strong>Expected: </strong>The mouse cursor should change to a large, left pointing, black arrow.</li>
- </li>
- </ol>
- <div id="content">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-001.html
deleted file mode 100644
index 0774957c4c8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-001.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on content nodes</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS rules using the :hover pseudo class are applied to content nodes">
- <meta name="flags" content="interact">
- <style>
- #source {
- background-color: blue;
- width: 100px;
- height: 100px;
- flow-into: f;
- }
- #source:hover {
- background-color: lime;
- }
- #region {
- flow-from: f;
- }
- .region {
- width: 200px;
- height: 200px;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>You should see a blue square below</li>
- <li>Move the mouse over the blue square</li>
- <li>The blue square should turn green</li>
- </ol>
- <div id="source">
-
- </div>
- <div class="region" id="region">
- <p></p>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-002.html
deleted file mode 100644
index 0d0c849bf17..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-002.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on content node parent when the parent is in the named flow and rendered as a sibling of its child</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS properties set through rules that use the :hover pseudo-class on an element are properly propagated to children that are flowed into regions even when they're visually rendered as siblings">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #source {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 5em;
- height: 5em;
- flow-into: f;
- }
- #parent {
- color: blue;
- width: 100px;
- height: 100px;
- background-color: yellow;
- flow-into: f;
- }
- #parent:hover {
- color: lime;
- }
- #region {
- flow-from: f;
- }
- .region {
- width: 100px;
- height: 200px;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>Move the mouse over the yellow square</li>
- <li>The blue square should turn green</li>
- </ol>
- <div id="parent">
- <div id="source">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- <div class="region" id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-003.html
deleted file mode 100644
index dc855987699..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-003.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on content node parent when the parent is not in the named flow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS properties set through rules that use the :hover pseudo-class on an element are properly propagated to children that are flowed into regions">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #source {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 5em;
- height: 5em;
- flow-into: f;
- }
- #parent {
- color: blue;
- width: 100px;
- height: 100px;
- background-color: yellow;
- }
- #parent:hover {
- color: lime;
- }
- #region {
- flow-from: f;
- }
- .region {
- width: 100px;
- height: 100px;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>You should see a yellow and a blue square below</li>
- <li>Move the mouse over the yellow square</li>
- <li>The blue square should turn green</li>
- </ol>
- <div id="parent">
- <div id="source">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- <div class="region" id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-004.html
deleted file mode 100644
index 76d73eb40ab..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-004.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on content node when the content node has position:fixed</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS rules using the :hover pseudo class are applied to content nodes that have position:fixed.">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #source {
- position: fixed;
- right: 0;
- top: 0;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 5em;
- height: 5em;
- flow-into: f;
- }
- #parent {
- color: blue;
- width: 100px;
- height: 100px;
- background-color: yellow;
- }
- #source:hover {
- color: lime;
- }
- #region {
- flow-from: f;
- }
- .region {
- width: 100px;
- height: 100px;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>You should see a yellow and a blue square below</li>
- <li>Move the mouse over the blue square</li>
- <li>The blue square should turn green</li>
- </ol>
- <div id="parent">
- <div id="source">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- <div class="region" id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-005.html
deleted file mode 100644
index f13cd0fbaed..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-content-005.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS :hover on content node when the content node has position:relative</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS rules using the :hover pseudo class are applied to content nodes that are relatively positioned">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #source {
- position: relative;
- left: 5em;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 5em;
- height: 5em;
- flow-into: f;
- }
- #parent {
- color: blue;
- background-color: yellow;
- }
- #source:hover {
- color: lime;
- }
- #region {
- flow-from: f;
- }
- .region {
- width: 200px;
- height: 100px;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>You should see a blue square below</li>
- <li>Move the mouse over the blue square <strong>Expected:</strong> The blue square should turn green</li>
- </ol>
- <div id="parent">
- <div id="source">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- <div class="region" id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-001.html
deleted file mode 100644
index d28c79b0526..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-001.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on region that has borders</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS rules using the :hover pseudo class are applied to regions when moving the mouse over the region border">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #source {
- color: blue;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 5em;
- height: 5em;
- flow-into: f;
- }
- #region {
- flow-from: f;
- }
- .region {
- border-left: 100px solid yellow;
- width: 100px;
- height: 100px;
- }
- .region:hover {
- border-left: 100px solid lime;
- color: red;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>You should see a yellow and a blue square below</li>
- <li>Move the mouse over the yellow square</li>
- <li>The yellow square should turn green</li>
- </ol>
- <div id="parent">
- <div id="source">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- <div class="region" id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-002.html
deleted file mode 100644
index 347319195e0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-002.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on regions that have padding</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS rules using the :hover pseudo class are applied to regions when moving the mouse over the region padding">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #source {
- color: blue;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 5em;
- height: 5em;
- flow-into: f;
- }
- #region {
- flow-from: f;
- }
- .region {
- background-color: yellow;
- padding-left: 100px;
- width: 100px;
- height: 100px;
- }
- .region:hover {
- background-color: lime;
- color: red;
- }
- .region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>You should see a yellow and a blue square</li>
- <li>Move the mouse over the yellow square</li>
- <li>The yellow square should turn green</li>
- </ol>
- <div id="parent">
- <div id="source">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- <div class="region" id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-003.html
deleted file mode 100644
index 103800a73dd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-003.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on region when content nodes are relatively positioned</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS rules using the :hover pseudo class are applied to regions when
- moving the mouse over the region and the content flowed in it is relatively positioned. Also, the :hover
- rules for the content do not apply when moving the mouse over the box placeholder.">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #source {
- position: relative;
- left: 5em;
- color: blue;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 5em;
- height: 5em;
- flow-into: f;
- }
- #source:hover {
- color: red;
- }
- #region {
- background-color: yellow;
- width: 200px;
- height: 100px;
- flow-from: f;
- }
- #region:hover {
- color: red;
- background-color: lime;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test</li>
- <li>You should see a yellow and a blue square</li>
- <li>Move the mouse over the yellow square</li>
- <li>The yellow square should turn green and the blue square should remain blue</li>
- </ol>
- <div id="parent">
- <div id="source">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- <div id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-004.html
deleted file mode 100644
index 4dc41bf7c5f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/css-hover-on-region-004.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: :hover on regions that have rounded corners</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="CSS rules using the :hover pseudo class are applied to regions that have rounded borders.">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
-
- #content p{
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- color: yellow;
- }
-
- #parent {
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QMWCgYsObOZcQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAkUlEQVRYw+2Wuw6AMAhFL8T//2LlOjjooAnQKoOcyURpT3i0Ak3T/B3Jh652Pi/6kcBqgMp9GAEYozIBAaPvc+KQnCrg3Twuob60S6Ky1x4ZEtBko07LgLza3+oftdFRTWfgXcoFHIUiB5aXCRnI7s9ZJbCkgS+u/CQsvwsCU6ACbHyuLXG8j52c5f8DTdOUswNDYysBxD+bOgAAAABJRU5ErkJggg==") no-repeat 0px 0px, url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QMWCgYsObOZcQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAkUlEQVRYw+2Wuw6AMAhFL8T//2LlOjjooAnQKoOcyURpT3i0Ak3T/B3Jh652Pi/6kcBqgMp9GAEYozIBAaPvc+KQnCrg3Twuob60S6Ky1x4ZEtBko07LgLza3+oftdFRTWfgXcoFHIUiB5aXCRnI7s9ZJbCkgS+u/CQsvwsCU6ACbHyuLXG8j52c5f8DTdOUswNDYysBxD+bOgAAAABJRU5ErkJggg==") no-repeat 140px 140px, lightblue;
- position: relative;
- font-family: monospace;
- margin: 1em;
- width: 170px;
- height: 170px;
- }
-
- #region {
- width: 150px;
- height: 150px;
- border-radius: 50%;
- border: 10px solid black;
- background-color: yellow;
- flow-from: f;
- overflow: hidden; /*So that the content flowed does not go outside the rounded corners*/
- }
-
- #region:hover {
- background-color: red;
- border-color: red;
- }
-
- #parent:hover {
- background-color: lime;
- }
-
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should see a blue square, with a yellow circle inside it.</li>
- <li>There should be two blue dots in side the square, near the top left and bottom right corners</li>
- <li>Move the mouse over the top-left blue dot <strong>Expected:</strong> The color of the square turns green. No red.</li>
- <li>Move the mouse over the bottom-right blue dot <strong>Expected:</strong> The color of the square turns green. No red.</li>
- </ol>
- <div id="content">
- <p>xxxx<br>xxxx<br>xxxx<br>xxxx</p>
- </div>
- <div id="parent">
- <div id="region">
- <p></p>
- </div>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-001.html
deleted file mode 100644
index a59fc54aa30..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-001.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: document.elementFromPoint() on for elements that get split between regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="document.elementFromPoint() should return the correct element when provided with coordinates of points inside content fragments">
- <meta name="flags" content="dom interact">
- <style>
- body {
- font-size: 16px;
- }
- p {
- margin: 0;
- }
- ol {
- padding-left: 0;
- }
- #content {
- flow-into: f;
- }
- .region {
- flow-from: f;
- margin: .25em;
- margin-left: 40px;
- width: 200px;
- height: 150px;
- background-color: lightgray;
- }
- .region p {
- font-weight: bold;
- color: red;
- }
- .narrow {
- width: 75px;
- height: 20px;
- }
- </style>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
-</head>
-<body>
- <div id="content">
- </div>
- <div class="region narrow">
- <p>FAIL</p>
- </div>
- <div class="region" id="target">
- <p>FAIL</p>
- </div>
- <div id="log"></div>
- <script type="text/javascript">
- var testElements = [
- { tag: "p", content: "Some text here", description: "Block content" },
- { tag: "span", content: "Some text here", description: "Inline content", around: " mmm " },
- { tag: "img", description: "Replaced content", src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAT0lEQVR42u2WMQoAIAwD+/9Px9VFoUJNhjvoKDmKhVQBQA9tYw3/LiGngJwChBN+CtfjWMOvEp0HIwL2DUT8gYgrQAKJyD4Q0YgiOiHACAvTEtAwKdXD6AAAAABJRU5ErkJggg==", style: { width: "32px", height: "32px"} },
- { tag: "li", content: "Some text here", description: "Elements with parents", parent: "ol"},
- { tag: "foobar", content: "Some text here", description: "Unknown element type" },
- { tag: "div", content: "Floating<br>content", description: "Floating content", style: { float: "left" } },
- ],
- regionBox = document.querySelector("#target").getBoundingClientRect();
-
- function insertElement(elem) {
- var node, parent, content;
- node = document.createElement(elem.tag);
- node.innerHTML = elem.content;
-
- if (elem.parent) {
- parent = document.createElement(elem.parent);
- parent.appendChild(node);
- }
-
- if (elem.src) {
- node.src = elem.src;
- }
-
- for (var prop in elem.style) {
- node.style[prop] = elem.style[prop];
- }
-
- if (elem.around) {
- content = elem.around + (parent ? parent.outerHTML : node.outerHTML) + elem.around;
- } else {
- content = (parent ? parent.outerHTML : node.outerHTML);
- }
-
- document.querySelector("#content").innerHTML = content;
- }
- function pointForElement(elem) {
- // We just assume that (10px, 10px) relative to the second region should fall inside the
- // second block of the flowed content. Currently getBoundingClientRects() is not
- // implemented and there isn't a more reliable way of computing it.
- result = {
- top : regionBox.top + 10,
- left : regionBox.left + 10
- }
-
- return result;
- }
-
- testElements.forEach(function(elem) {
- test(function() {
- var point, fromSelector;
-
- insertElement(elem);
- point = pointForElement(elem);
-
- fromSelector = document.querySelector("#content " + elem.tag);
- assert_equals(fromSelector, document.elementFromPoint(point.left, point.top));
-
- }, elem.description)
- });
- </script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-002.html
deleted file mode 100644
index e36d0ac275b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/elementFromPoint-002.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: document.elementFromPoint() for elements flowed into regions</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="document.elementFromPoint() should return the correct element when provided with coordinates of points corresponding to elements flowed into regions">
- <meta name="flags" content="dom interact">
- <style>
- p {
- margin: 0;
- }
- ol {
- padding: 0;
- margin: 0;
- }
- #content {
- flow-into: f;
- }
- #region {
- flow-from: f;
- margin-left: 40px;
- width: 200px;
- height: 150px;
- background-color: lightgray;
- }
- #region p {
- font-weight: bold;
- color: red;
- }
- </style>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
-</head>
-<body>
- <div id="content">
- </div>
- <div id="region">
- <p>FAIL</p>
- </div>
- <div id="log"></div>
- <script type="text/javascript">
- var testElements = [
- { tag: "p", content: "Some text here", description: "Block content" },
- { tag: "span", content: "Some text here", description: "Inline content", around: "mmm" },
- { tag: "img", description: "Replaced content", src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAT0lEQVR42u2WMQoAIAwD+/9Px9VFoUJNhjvoKDmKhVQBQA9tYw3/LiGngJwChBN+CtfjWMOvEp0HIwL2DUT8gYgrQAKJyD4Q0YgiOiHACAvTEtAwKdXD6AAAAABJRU5ErkJggg==", style: { width: "32px", height: "32px"} },
- { tag: "li", content: "Some text here", description: "Elements with parents", parent: "ol"},
- { tag: "foobar", content: "Some text here", description: "Unknown element type" },
- { tag: "div", content: "Floating content", description: "Floating content", style: { float: "right" } },
- ],
- regionBox = document.querySelector("#region").getBoundingClientRect();
-
- function insertElement(elem) {
- var node, parent, content;
- node = document.createElement(elem.tag);
- node.appendChild(document.createTextNode(elem.content));
-
- if (elem.parent) {
- parent = document.createElement(elem.parent);
- parent.appendChild(node);
- }
-
- if (elem.src) {
- node.src = elem.src;
- }
-
- for (var prop in elem.style) {
- node.style[prop] = elem.style[prop];
- }
-
- if (elem.around) {
- content = elem.around + (parent ? parent.outerHTML : node.outerHTML) + elem.around;
- } else {
- content = (parent ? parent.outerHTML : node.outerHTML);
- }
-
- document.querySelector("#content").innerHTML = content;
- }
- function pointForElement(elem) {
- var elemBox, result, aroundElem, aroundBox;
- elemBox = document.querySelector("#content " + elem.tag).getBoundingClientRect();
-
- result = {
- top : regionBox.top + elemBox.height/2,
- left : regionBox.left + elemBox.width/2
-
- };
-
- if (elem.around) {
- aroundElem = document.createElement("span");
- aroundElem.innerHTML = elem.around;
- aroundElem.style.visibility = "hidden";
-
- document.body.insertBefore(aroundElem, null);
- document.body.offsetTop;
- aroundBox = aroundElem.getBoundingClientRect();
- document.body.removeChild(aroundElem);
-
- result.left += aroundBox.width;
- }
-
- if (elem.style && elem.style.float == "right") {
- result.left = regionBox.right - (aroundBox ? aroundBox.width : 0) - elemBox.width/2;
- }
-
- return result;
- }
-
- testElements.forEach(function(elem) {
- test(function() {
- var point, fromSelector;
-
- insertElement(elem);
- point = pointForElement(elem);
-
- fromSelector = document.querySelector("#content " + elem.tag);
- assert_equals(fromSelector, document.elementFromPoint(point.left, point.top));
-
- }, elem.description)
- });
- </script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-001.html
deleted file mode 100644
index b23cb0e78c3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-001.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Changing an element's named flow when hovering over its parent</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the named flow an element is extracted in using a rule that contains the :hover pseudoclass should be possible">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- float: left;
- width: 100px;
- height: 100px;
- margin: 10px;
- background-color: lightblue;
- }
- #content {
- color: green;
- background-color: yellow;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #content p {
- flow-into: f;
- }
- #content:hover p {
- flow-into: g;
- }
- #region1 {
- flow-from: f;
- }
- #region1 p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- #region2 {
- flow-from: g;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should see no red before or during this test.</li>
- <li>Move the mouse over the yellow square.</li>
- <li>The blue and green squares should swap places.</li>
- </ol>
- <div id="content" class="box">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region1" class="box">
- <p></p>
- </div>
- <div id="region2" class="box">
- <p></p>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-002.html
deleted file mode 100644
index 852af75109e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-002.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Changing an element's named flow when hovering over a sibling</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the named flow an element is extracted in using a rule that contains the :hover pseudoclass should be possible">
- <meta name="flags" content="interact">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- float: left;
- width: 100px;
- height: 200px;
- margin: 10px;
- }
- #content {
- background-color: lightgray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #content p {
- flow-into: f;
- }
- #content p:first-child {
- color: lightblue;
- }
- #content p:first-child:hover + p {
- flow-into: g;
- }
- #region1 {
- flow-from: f;
- }
- #region1 p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- #region2 {
- flow-from: g;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should see no red before or during this test.</li>
- <li>Move the mouse over the blue square.</li>
- <li>The black square below the blue square should appear on the right of the blue square.</li>
- </ol>
- <div id="content" class="box">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region1" class="box">
- <p></p>
- </div>
- <div id="region2" class="box">
- <p></p>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-003.html
deleted file mode 100644
index d43b4e257cd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-003.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Remove child element from named flow on CSS hover when parent and child are rendered as siblings in region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the flow-into property should be possible in rules that use the :hover pseudoclass">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- width: 100px;
- height: 100px;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- background-color: yellow;
- flow-into: f;
- }
- #content p {
- flow-into: f;
- }
- #content:hover p {
- flow-into: none;
- }
- #region {
- background-color: yellow;
- height: 200px;
- flow-from: f;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
-</head>
-<body>
- You should not see any red before or during this test.
- <ol>
- <li>You should see a yellow square above a black square</li>
- <li>Move the mouse over the yellow square</li>
- <li>The two squares should swap places</li>
- </ol>
- <div id="content" class="box">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region" class="box"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-004.html
deleted file mode 100644
index dc1d8ee008a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-004.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Remove child element from named flow on CSS hover</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the flow-into property should be possible in rules that use the :hover pseudoclass">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- width: 100px;
- height: 100px;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- background-color: yellow;
- }
- #content p {
- flow-into: f;
- }
- #content:hover p {
- flow-into: none;
- }
- #region {
- background-color: yellow;
- flow-from: f;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
-</head>
-<body>
- You should not see any red before or during this test.
- <ol>
- <li>You should see a yellow square above a black square</li>
- <li>Move the mouse over the yellow square</li>
- <li>The two squares should swap places</li>
- </ol>
- <div id="content" class="box">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region" class="box"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-005.html
deleted file mode 100644
index b421fa91a74..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-005.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Remove element from named flow on CSS hover</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the flow-into property should be possible in rules that use the :hover pseudoclass">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- float: left;
- width: 100px;
- height: 200px;
- margin: 10px;
- }
- #content {
- background-color: lightgray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #content p {
- flow-into: f;
- }
- #content p:last-child {
- color: lightblue;
- }
- #content p:last-child:hover {
- flow-into: none;
- }
- #region {
- background-color: lightgreen;
- flow-from: f;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- You should not see any red before or during this test.
- <ol>
- <li>You should see a tall gray rectangle alongside with a black and a blue square</li>
- <li>Move the mouse over the blue square.</li>
- <li>The blue square should appear in the gray rectangle on the left.</li>
- </ol>
- <div id="content" class="box">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region" class="box">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-006.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-006.html
deleted file mode 100644
index 26e82a33edc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/flow-change-on-hover-006.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Remove element sibling from named flow on CSS hover</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the flow-into property should be possible in rules that use the :hover pseudoclass">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- float: left;
- width: 100px;
- height: 200px;
- margin: 10px;
- }
- #content {
- background-color: lightgray;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #content p {
- flow-into: f;
- }
- #content p:first-child {
- color: lightblue;
- }
- #content p:first-child:hover + p {
- flow-into: none;
- }
- #region {
- flow-from: f;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- You should not see any red before or during this test.
- <ol>
- <li>You should see a tall gray rectangle alongside with a blue and a black square</li>
- <li>Move the mouse over the blue square.</li>
- <li>The black square below the blue square should appear in the gray rectangle on the left.</li>
- </ol>
- <div id="content" class="box">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region" class="box">
- <p></p>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-001.html
deleted file mode 100644
index b461082768c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-001.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: mouse events don't trigger for region children</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Children of regions (elements with flow-from) are removed from the document flow and JavaScript event handlers set on them should not fire">
- <meta name="flags" content="dom interact">
- <style>
- body {
- margin: 0;
- padding: 20px;
- }
- p {
- margin: 0;
- }
- .box {
- width: 200px;
- height: 200px;
- float: left;
- margin: 20px;
- }
- #source {
- background-color: lightcyan;
- }
- #source p {
- width: 100%;
- height: 100px;
- background-color: green;
- flow-into: flow;
- }
- #region {
- background-color: yellow;
- flow-from: flow;
- }
- #region p {
- margin-top: 100px;
- width: 100%;
- height: 100px;
- background-color: red;
- }
- #result {
- clear: both;
- font-weight: bold;
- }
- .pass {
- color: green;
- }
- .fail {
- color: red;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>Mouse over the green rectangle and click</li>
- <li>Mouse over the yellow rectangle and click</li>
- <li>You should see "PASS" appearing below</li>
- <li>You should not see any red, or the word "FAIL"</li>
- </ol>
- <div id="source" class="box">
- <p></p>
- </div>
- <div id="region" class="box">
- <p></p>
- </div>
- <div id="result" class=""></div>
- <script type="text/javascript">
- var contentCalls = 0,
- regionCalls = false;
-
- function setResult(value) {
- var tag = document.querySelector("#result");
- tag.innerHTML = value;
- tag.classList.add(value.toLowerCase());
- }
-
- function contentEventHandler(evt) {
- contentCalls++;
-
- if (contentCalls == 3) {
- setResult("PASS");
- finishTest();
- }
- }
-
- function regionChildEventHandler(evt) {
- regionCalls = true;
- setResult("FAIL");
- finishTest();
- }
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- function runScriptedTest() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- var boxLocation = document.querySelector("#region").getBoundingClientRect();
- eventSender.mouseMoveTo(boxLocation.left + 40, boxLocation.top + 50);
- eventSender.mouseDown();
- eventSender.mouseUp();
-
- eventSender.mouseMoveTo(boxLocation.left + boxLocation.width - 40, boxLocation.top + boxLocation.height - 40);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
- }
-
- var events = [ "mouseover", "mouseout", "click" ],
- regionChild = document.querySelector("#region p"),
- content = document.querySelector("#source p");
-
- events.forEach(function(item) {
- regionChild.addEventListener(item, regionChildEventHandler);
- content.addEventListener(item, contentEventHandler);
- })
-
- runScriptedTest();
- </script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-002.html
deleted file mode 100644
index 4f6fd4d8e77..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-002.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: mouse events on contents node made up by unknown tags</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Mouse event handlers set on content nodes, even if they're unknown elements should fire">
- <meta name="flags" content="dom interact">
- <style>
- body {
- margin: 0;
- padding: 20px;
- }
- p {
- margin: 0;
- }
- .box {
- width: 200px;
- height: 200px;
- float: left;
- margin: 20px;
- }
- .smallbox {
- width: 75px;
- height: 200px;
- float: left;
- margin: 20px;
- }
-
- #source {
- color: green;
- background-color: lightcyan;
- }
- #source foobar {
- flow-into: flow1;
- }
- #region1 {
- flow-from: flow1;
- }
- #source barbaz {
- flow-into: flow2;
- }
- #region2 {
- flow-from: flow2;
- }
- #source bazzaz {
- flow-into: flow3;
- }
- #region3 {
- flow-from: flow3;
- }
-
- foo,
- foobar,
- barbaz,
- barbaz span,
- bazzaz {
- display: block;
- width: 100%;
- height: 100px;
- background-color: green;
- }
-
- .region {
- background-color: yellow;
- }
- .region p {
- margin-top: 100px;
- width: 100%;
- height: 100px;
- background-color: red;
- }
-
- #result {
- clear: both;
- font-weight: bold;
- }
- .pass {
- color: green;
- }
- .fail {
- color: red;
- }
- </style>
-</head>
-<body>
- For each of the three narrow boxes on the right of the cyan square:
- <ol>
- <li>Mouse over the green rectangle and click</li>
- <li>Mouse over the yellow rectangle and click</li>
- <li>You should see "PASS" appearing below</li>
- <li>You should not see any red, or the word "FAIL"</li>
- </ol>
- <div id="source" class="box">
- <foobar>
- Some text here
- </foobar>
- <barbaz>
- <span>Some text here</span>
- </barbaz>
- <bazzaz>
- <foo>Some text here</foo>
- </bazzaz>
- </div>
- <div id="region1" class="region smallbox">
- <p></p>
- </div>
- <div id="region2" class="region smallbox">
- <p></p>
- </div>
- <div id="region3" class="region smallbox">
- <p></p>
- </div>
-
- <div id="result" class=""></div>
- <script type="text/javascript">
- var calls = { totalCalls: 0, individualCalls: {} },
- regionCalls = false;
-
- function setResult(value) {
- var tag = document.querySelector("#result");
- tag.innerHTML += value + "<br>";
- tag.classList.add(value.toLowerCase());
- }
-
- function contentEventHandlerForItem(item) {
- return function(evt) {
- calls.totalCalls++;
- calls.individualCalls[item].calls++;
-
- if (calls.totalCalls == 9) {
- var pass = true;
- for (var c in calls.individualCalls) {
- if (calls.individualCalls[c].calls !== 3) {
- pass = false;
- }
- }
- setResult(pass ? "PASS" : "FAIL");
- finishTest();
- }
- }
- }
-
- function regionChildEventHandler(evt) {
- regionCalls = true;
- setResult("FAIL");
- finishTest();
- }
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- function testRegion(regionSelector) {
- if (window.testRunner) {
- var boxLocation = document.querySelector(regionSelector).getBoundingClientRect();
- eventSender.mouseMoveTo(boxLocation.left + 40, boxLocation.top + 50);
- eventSender.mouseDown();
- eventSender.mouseUp();
-
- eventSender.mouseMoveTo(boxLocation.left, boxLocation.top + 120);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
- }
-
- function runScriptedTest(contentSelectors) {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- contentSelectors.forEach(function(item) {
- testRegion(item);
- })
- }
- }
-
- var events = [ "mouseover", "mouseout", "click" ],
- regionChildren = Array.prototype.slice.call(document.querySelectorAll(".region p")),
- contents = [ "#source foobar", "#source barbaz span", "#source foo" ];
-
- events.forEach(function(event) {
- regionChildren.forEach(function(item) {
- item.addEventListener(event, regionChildEventHandler);
- });
- contents.forEach(function(item) {
- calls.individualCalls[item] = {};
- calls.individualCalls[item].calls = 0;
- document.querySelector(item).addEventListener(event, contentEventHandlerForItem(item));
- });
- })
-
- runScriptedTest(contents);
- </script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-003.html
deleted file mode 100644
index ea0d5433a33..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-003.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: mouse over DOM location of content flowed in a region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Mouse events should not fire over the would-be location of the content nodes (where they would have been rendered were they not flowed in a region)">
- <meta name="flags" content="dom interact">
- <style>
- body {
- margin: 0;
- padding: 20px;
- }
- .box {
- width: 200px;
- height: 200px;
- float: left;
- margin: 20px;
- }
- #source {
- background-color: lightblue;
- }
- #source p {
- flow-into: flow;
- }
- #region {
- background-color: lightgreen;
- flow-from: flow;
- }
- #shield {
- opacity: 0.01;
- background-color: white;
- z-index: 100;
- position: relative;
- left: -240px;
- }
- #result {
- clear: both;
- }
- .pass {
- color: green;
- font-weight: bold;
- }
- .fail {
- color: red;
- font-weight: bold;
- }
- </style>
-</head>
-<body>
- This test passes if you never see red during the test or the word "FAIL" and all expected results happen when following the steps below:
- <ol>
- <li>You should see a blue empty square and a green square with text</li>
- <li>Move the mouse over the blue empty square <strong>Expected:</strong> The text "PASS" appears under the blue square.</li>
- </ol>
- <div id="source" class="box">
- <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae eveniet. Explicabo veritatis adipisci praesentium placeat voluptates dolorum pariatur architecto itaque.</p>
- </div>
- <div id="region" class="box"></div>
- <div class="box" id="shield"></div>
- <div id="result" class=""></div>
- <script type="text/javascript">
- var target = document.querySelector("#source p");
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- target.parentElement.addEventListener("mouseover", function(evt) {
- var tag = document.querySelector("#result");
- result;
- if (evt.target != evt.currentTarget) {
- result = "FAIL";
- } else {
- result = "PASS";
- }
-
- tag.innerHTML = result;
- tag.classList.add(result.toLowerCase());
-
- finishTest();
- }, true);
-
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- eventSender.enableDOMUIEventLogging();
-
- eventSender.mouseMoveTo(10, 40);
- eventSender.mouseMoveTo(100, 100);
-
- eventSender.mouseUp();
- }
- </script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-004.html
deleted file mode 100644
index 790c1432560..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-004.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Removing content nodes on mouse events</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Altering the contents of the named flow via DOM manipulation in response to user gestures (mouse move, mouse click) should works as without regions.">
- <meta name="flags" content="dom interact">
-
- <style>
- body {
- margin: 0;
- padding: 20px;
- }
- p {
- margin: 0;
- }
- .box {
- width: 200px;
- height: 200px;
- float: left;
- margin: 20px;
- }
- #content {
- background-color: red;
- }
- #content p {
- width: 100%;
- height: 100px;
- flow-into: flow;
- }
- #region {
- background-color: yellow;
- flow-from: flow;
- }
- #region p {
- margin-top: 100px;
- width: 100%;
- height: 100px;
- background-color: red;
- }
- #result {
- clear: both;
- font-weight: bold;
- }
- .pass {
- color: green;
- }
- .fail {
- color: red;
- }
-
- .phase0 {
- background-color: green;
- }
- .phase1 {
- background-color: seagreen;
- }
- .phase2 {
- background-color: lime;
- }
- .phase3 {
- background-color: lightgreen;
- }
- </style>
-</head>
-<body>
- The test fails if you see any red, the text "FAIL" below the two rectangles below or if any of the expected results below don't happen.
- <ol>
- <li>You should see a green and a yellow rectangle, stacked vertically.</li>
- <li>Move the mouse over the green rectangle. <strong>Expected: </strong>The color should change to a lighter green.</li>
- <li>Click in the green rectangle. <strong>Expected: </strong>The color should change again to a yet lighter green.</li>
- <li>Move the mouse over the yellow rectangle.</li>
- <li><strong>Expected: </strong>The color of the green rectangle should change yet again to a pale green. There should be a green text below that says "PASS".</li>
- </ol>
- <div id="content">
- <p class="phase0"></p>
- </div>
- <div id="region" class="box">
- <p></p>
- </div>
- <div id="result"></div>
- <script type="text/javascript">
- var events = [ {
- name: "mouseover",
- hit: false
- }, {
- name: "click",
- hit: false
- }, {
- name: "mouseout",
- hit: false
- } ],
- target = document.querySelector("#content"),
- callCount = 0;
-
- function setResult(value) {
- var tag = document.querySelector("#result");
- tag.innerHTML = value;
- tag.classList.add(value.toLowerCase());
- }
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- function handlerForEvent(eventName, index) {
- return function(evt) {
- if ((evt.target === evt.currentTarget) || (events[index].hit))
- return;
-
- callCount++;
- events[index].hit = true;
-
- var nodeToRemove = document.querySelector("#content p"),
- nodeParent = nodeToRemove.parentNode;
-
- nodeParent.removeChild(nodeToRemove);
- document.body.offsetTop;
-
- var newNode = document.createElement("p");
- newNode.classList.add("phase" + callCount);
- nodeParent.appendChild(newNode);
-
- if (callCount == 3) {
- setResult("PASS");
- finishTest();
- }
- }
- }
-
- function runScript() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- var boxLocation = document.querySelector("#region").getBoundingClientRect();
- eventSender.mouseMoveTo(boxLocation.left + 40, boxLocation.top + 50);
- eventSender.mouseDown();
- eventSender.mouseUp();
-
- eventSender.mouseMoveTo(boxLocation.left + boxLocation.width - 40, boxLocation.top + boxLocation.height - 40);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
- }
-
- events.forEach(function(item, index) {
- target.addEventListener(item.name, handlerForEvent(item, index));
- });
-
- runScript();
- </script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-005.html
deleted file mode 100644
index 09557a08ecc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/mouse-events-005.html
+++ /dev/null
@@ -1,191 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Adding and removing regions on mouse events</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Altering the region chain via DOM manipulation in response to user gestures should not change the rendering of the content inside regions">
- <meta name="flags" content="interact">
- <style>
- body {
- margin: 0;
- padding: 20px;
- }
- p {
- margin: 0;
- }
- .box {
- width: 200px;
- height: 200px;
- float: left;
- margin: 20px;
- position: absolute;
- }
- .smallbox {
- width: 200px;
- height: 90px;
- float: left;
- margin: 20px;
- position: absolute;
- }
-
- #wrapper {
- position: relative;
- height: 240px;
- }
-
- #content {
- background-color: lightcyan;
- top: 0;
- left: 0;
- }
- #content p {
- margin-bottom: 10px;
- width: 100%;
- height: 80px;
- flow-into: flow;
- }
- .region {
- flow-from: flow;
- }
- .region p {
- margin-top: 100px;
- width: 100%;
- height: 100px;
- background-color: red;
- }
- .first-region {
- top: 0;
- left: 33%;
- }
- .second-region {
- top: 0;
- left: 66%;
- }
- #result {
- font-weight: bold;
- }
- .pass {
- color: green;
- }
- .fail {
- color: red;
- }
-
- .clickable {
- background-color: yellow;
- }
-
- .phase0 {
- background-color: green;
- }
- .phase1 {
- background-color: seagreen;
- }
- .phase2 {
- background-color: lime;
- }
- .phase3 {
- background-color: lightgreen;
- }
- </style>
-</head>
-<body>
- The test fails if you see any red, the text "FAIL" below the three rectangles below or if any of the expected results below don't happen.
- <ol>
- <li>Move the mouse over the yellow rectangle on the right. <strong>Expected: </strong>The green rectangle in the middle should change to a lighter green.</li>
- <li>Click in the yellow rectangle. <strong>Expected: </strong>The green rectangle in the middle should change again to a yet lighter green.</li>
- <li>Move the mouse out from the yellow rectangle.</li>
- <li><strong>Expected: </strong>The color of the green rectangle should change yet again to a pale green. There should be a green text below that says "PASS".</li>
- </ol>
- <div id="wrapper">
- <div class="box" id="content">
- <p></p>
- <p class="clickable"></p>
- </div>
- <div class="first-region region smallbox phase0">
- <p></p>
- </div>
- <div class="second-region region box">
- <p></p>
- </div>
- </div>
-
- <div id="result"></div>
- <script type="text/javascript">
- var events = [ {
- name: "mouseover",
- hit: false
- }, {
- name: "click",
- hit: false
- }, {
- name: "mouseout",
- hit: false
- } ],
- target = document.querySelector("#content"),
- callCount = 0;
-
- function setResult(value) {
- var tag = document.querySelector("#result");
- tag.innerHTML = value;
- tag.classList.add(value.toLowerCase());
- }
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- function handlerForEvent(eventName, index) {
- return function(evt) {
- if ((evt.target === evt.currentTarget) || (events[index].hit))
- return;
-
- callCount++;
- events[index].hit = true;
-
- var nodeToRemove = document.querySelector(".first-region"),
- nodeParent = nodeToRemove.parentNode;
-
- nodeParent.removeChild(nodeToRemove);
- document.body.offsetTop;
-
- var newNode = document.createElement("div");
- newNode.classList.add("first-region", "region", "smallbox", "phase" + callCount);
- nodeParent.insertBefore(newNode, document.querySelector(".second-region"));
- document.body.offsetTop;
-
- if (callCount == 3) {
- setResult("PASS");
- finishTest();
- }
- }
- }
-
- function runScript() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- var boxLocation = document.querySelector(".second-region").getBoundingClientRect();
- eventSender.mouseMoveTo(boxLocation.left + 40, boxLocation.top + 50);
- eventSender.mouseDown();
- eventSender.mouseUp();
-
- eventSender.mouseMoveTo(boxLocation.left + boxLocation.width - 40, boxLocation.top + boxLocation.height - 40);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
- }
-
- events.forEach(function(item, index) {
- target.addEventListener(item.name, handlerForEvent(item, index));
- });
- runScript();
- </script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-001.html
deleted file mode 100644
index af039fefd05..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-001.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: document.elementFromPoint() for elements in a region's hidden overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have hidden overflow calling document.elementFromPoint() on the location of the element should not return the element">
- <meta name="flags" content="dom interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
- display: inline-block;
- height: 50px;
-
- }
- #parent {
- height: 200px;
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- overflow: hidden;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- #result {
- color: green;
- font-weight: bold;
- }
- </style>
-</head>
-<body>
- This tests that calling <code>document.elementFromPoint()</code> on an element displayed in a region's
- hidden overflow will not return that element (but the element "underneath" it).<br>
- You should see "PASS" being displayed below.
- <div id="content"><span class="spacer"></span>This text has <span class="highlite">overflow</span></div>
- <div id="result">&nbsp;</div>
- <div id="parent">
- <div id="region">
- <p></p>
- </div>
- </div>
- <script type="text/javascript">
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- }
- function runScript() {
- var fromSelector, fromPoint,
- parent = document.querySelector("#parent");
- boxLocation = document.querySelector("#region").getBoundingClientRect(),
- result = document.querySelector("#result");
-
- fromSelector = document.querySelector(".highlite");
- fromPoint = document.elementFromPoint(boxLocation.left + boxLocation.width/2, boxLocation.top + boxLocation.height + 35);
-
- if ((fromSelector != fromPoint) && (fromPoint == parent)) {
- result.innerHTML = "PASS";
- } else {
- result.innerHTML = "FAIL";
- result.style.color = "red";
- }
-
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- document.addEventListener("DOMContentLoaded", runScript);
- </script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-002.html
deleted file mode 100644
index 9f7b88f6dcf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-002.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: document.elementFromPoint() for elements in a region's scroll overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have scroll overflow, scrolling an element flowed in them into view and then calling document.elementFromPoint() on the visible location of the element should return the element">
- <meta name="flags" content="dom interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
- display: inline-block;
- height: 50px;
- xbackground-color: yellow;
-
- }
- #parent {
- height: 200px;
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- overflow-y: scroll;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- #result {
- color: green;
- font-weight: bold;
- }
- </style>
-</head>
-<body>
- This tests that calling <code>document.elementFromPoint()</code> on an element displayed in a region's
- visible overflow will actually return that element (and not the element "underneath" it).<br>
- You should see "PASS" being displayed below.
- <div id="content"><span class="spacer"></span>This text has <span class="highlite">overflow</span></div>
- <div id="result">&nbsp;</div>
- <div id="parent">
- <div id="region">
- <p></p>
- </div>
- </div>
- <script type="text/javascript">
- if (window.testRunner) {
- testRunner.waitUntilDone();
- testRunner.dumpAsText();
- }
-
- function runScript() {
- var region, regionBox, target, targetBox, fromPoint;
-
- region = document.querySelector("#region");
- region.scrollTop = 200;
-
- regionBox = region.getBoundingClientRect();
-
- document.body.offsetTop;
-
- target = document.querySelector(".highlite");
- targetBox = target.getBoundingClientRect();
- fromPoint = document.elementFromPoint(targetBox.left + targetBox.width/2, targetBox.top + targetBox.height/2);
-
- // Check we get the same element via DOM selection and via elementFromPoint() AND
- // the element we get is in the visible part of the region
- if ((fromPoint == target) && (targetBox.bottom <= regionBox.bottom)) {
- result.innerHTML = "PASS";
- } else {
- result.innerHTML = "FAIL";
- result.style.color = "red";
- }
-
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- document.addEventListener("DOMContentLoaded", runScript);
- </script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-003.html
deleted file mode 100644
index 3562c8443e6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-elementFromPoint-003.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: document.elementFromPoint() for elements in a region's visible overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have visible overflow calling document.elementFromPoint() on the visible location of the element should return the element">
- <meta name="flags" content="dom interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
- display: inline-block;
- height: 50px;
- xbackground-color: yellow;
-
- }
- #parent {
- height: 200px;
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- #result {
- color: green;
- font-weight: bold;
- }
- </style>
-</head>
-<body>
- This tests that calling <code>document.elementFromPoint()</code> on an element displayed in a region's
- visible overflow will actually return that element (and not the element "underneath" it).<br>
- You should see "PASS" being displayed below.
- <div id="content"><span class="spacer"></span>This text has <span class="highlite">overflow</span></div>
- <div id="result">&nbsp;</div>
- <div id="parent">
- <div id="region">
- <p></p>
- </div>
- </div>
- <script type="text/javascript">
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- }
- function runScript() {
- var fromSelector, fromPoint,
- boxLocation = document.querySelector("#region").getBoundingClientRect(),
- result = document.querySelector("#result");
-
- fromSelector = document.querySelector(".highlite");
- fromPoint = document.elementFromPoint(boxLocation.left + boxLocation.width/2, boxLocation.top + boxLocation.height + 35);
-
- if (fromSelector == fromPoint) {
- result.innerHTML = "PASS";
- } else {
- result.innerHTML = "FAIL";
- result.style.color = "red";
- }
-
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- document.addEventListener("DOMContentLoaded", runScript);
- </script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-001.html
deleted file mode 100644
index 513dc5d05a1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-001.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: JavaScript event handlers for elements in a region's hidden overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have hidden overflow, JavaScript events on elements that are in the hidden overflow should not trigger">
- <meta name="flags" content="dom interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
- display: inline-block;
- height: 50px;
-
- }
- #parent {
- height: 200px;
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- overflow: hidden;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- #result {
- color: green;
- font-weight: bold;
- }
- </style>
-</head>
-<body>
- This tests that elements displayed in a region's visible overflow handle mouse events.
- <ol>
- <li>You should not see any red before or during this test.</li>
- <li>You should only see one word (<em>This</em>) at the bottom of the gray square.</li>
- <li>You shouldn't be able to scroll or make visible more text in the gray square.</li> <!-- yeah, I know it's fishy but don't have a better idea for negative testing :) -->
- </ol>
- <div id="content"><span class="spacer"></span>This text has <span class="highlite">overflow</span></div>
- <div id="result">&nbsp;</div>
- <div id="parent">
- <div id="region">
- <p></p>
- </div>
- </div>
- <script type="text/javascript">
- var word = document.querySelector(".highlite");
- word.addEventListener("click", function(evt) {
- document.querySelector("#result").innerHTML = "FAIL";
- finishTest();
- });
-
- var parent = document.querySelector("#parent");
- parent.addEventListener("click", function(evt) {
- var result = document.querySelector("#result");
- if (result.innerHTML == "&nbsp;") {
- document.querySelector("#result").innerHTML = "PASS";
- }
-
- finishTest();
- })
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- function runScript() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- var boxLocation = document.querySelector("#region").getBoundingClientRect();
- eventSender.mouseMoveTo(boxLocation.left + boxLocation.width/2, boxLocation.top + boxLocation.height + 35);
-
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
- }
-
- runScript();
- </script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-002.html
deleted file mode 100644
index f769d3c5c1a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-002.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: JavaScript event handlers for elements in a region's scroll overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have scroll overflow, JavaScript events on elements that are in the scrollable overflow should trigger once the element is scrolled into view and the corresponding user gesture is made">
- <meta name="flags" content="dom interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
- display: inline-block;
- height: 50px;
-
- }
- #parent {
- height: 200px;
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- overflow-y: scroll;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- #result {
- color: green;
- font-weight: bold;
- }
- </style>
-</head>
-<body>
- This tests that elements displayed in a region's scrollable overflow can be scrolled into view and handle mouse events.
- <ol>
- <li>You should not see any red before or during this test.</li>
- <li>Scroll the contents of the square below so that the blue word (<em>overflows</em>) scrolls into view.</li>
- <li>Click on the blue word (<em>overflows</em>) outside the gray square.</li>
- <li>You should see "PASS" word being displayed in green, below.</li>
- </ol>
- <div id="content"><span class="spacer"></span>This text has <span class="highlite">overflow</span></div>
- <div id="result">&nbsp;</div>
- <div id="parent">
- <div id="region">
- <p></p>
- </div>
- </div>
- <script type="text/javascript">
- var word = document.querySelector(".highlite");
- word.addEventListener("click", function(evt) {
- document.querySelector("#result").innerHTML = "PASS";
- finishTest();
- });
-
- var parent = document.querySelector("#parent");
- parent.addEventListener("click", function(evt) {
- var result = document.querySelector("#result");
- if (result.innerHTML != "&nbsp;") {
- result.innerHTML = "FAIL";
- result.style.color = "red";
- }
-
- finishTest();
- })
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- function runScript() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- var region = document.querySelector("#region");
- region.scrollTop = 100;
-
- var boxLocation = document.querySelector(".highlite").getBoundingClientRect();
- eventSender.mouseMoveTo(boxLocation.left + boxLocation.width/2, boxLocation.top + boxLocation.height/2);
-
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
- }
-
- runScript();
- </script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-003.html
deleted file mode 100644
index 16425ef49bc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-events-003.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Mouse events in visible overflow of a region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Mouse events set up on elements displayed in a region's visible overflow should trigger">
- <meta name="flags" content="interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
- display: inline-block;
- height: 50px;
-
- }
- #parent {
- height: 200px;
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- #result {
- color: green;
- font-weight: bold;
- }
- </style>
-</head>
-<body>
- This tests that elements displayed in a region's visible overflow handle mouse events.
- <ol>
- <li>You should not see any red before or during this test.</li>
- <li>Click on the blue word (<em>overflows</em>) outside the gray square.</li>
- <li>You should see "PASS" word being displayed in green, below.</li>
- </ol>
- <div id="content"><span class="spacer"></span>This text has <span class="highlite">overflow</span></div>
- <div id="result">&nbsp;</div>
- <div id="parent">
- <div id="region">
- <p></p>
- </div>
- </div>
- <script type="text/javascript">
- var word = document.querySelector(".highlite");
- word.addEventListener("click", function(evt) {
- document.querySelector("#result").innerHTML = "PASS";
- finishTest();
- });
-
- var parent = document.querySelector("#parent");
- parent.addEventListener("click", function(evt) {
- var result = document.querySelector("#result");
- //TODO This might need reworking if the event propagation model for regions changes in a way
- // that allows events to be caught by the content and also by the region's parents
- if (result.innerHTML != "PASS") {
- result.innerHTML = "FAIL";
- result.style.color = "red";
- }
-
- finishTest();
- })
-
- function finishTest() {
- if (window.testRunner) {
- testRunner.notifyDone();
- }
- }
-
- function runScript() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- var boxLocation = document.querySelector("#region").getBoundingClientRect();
- eventSender.mouseMoveTo(boxLocation.left + boxLocation.width/2, boxLocation.top + boxLocation.height + 35);
-
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
- }
-
- runScript();
- </script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-001.html
deleted file mode 100644
index be6d3ce960f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-001.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Selection for elements in a region's hidden overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have hidden overflow, the contents in the hidden overflow should not be scrollable or selectable">
- <meta name="flags" content="interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
-
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- overflow: hidden;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test.</li>
- <li>You should only see one word (<em>This</em>) at the bottom of the gray square.</li>
- <li>You shouldn't be able to scroll or make visible more text in the gray square.</li> <!-- yeah, I know it's fishy but don't have a better idea for negative testing :) -->
- </ol>
- <div id="content"><span class="spacer"></span>This text <span class="highlite">overflows</span>.</div>
- <div id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-002.html
deleted file mode 100644
index 6a11f8b0ca6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-002.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Selection for elements in a region's scroll overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have scroll overflow, their content should be scrollable into view and selectable as without regions">
- <meta name="flags" content="interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
-
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- overflow-y: scroll;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test.</li>
- <li>Scroll the contents of the square below until a blue word (<em>overflows</em>) becomes visible.</li>
- <li>Select the blue word.</li>
- <li>You should see the selection highlight drawn around the word.</li>
- <li>If you copy the selected word and paste it in the text box below you should get only the word <em>overflows</em>.</li>
- </ol>
- <input type="text">
- <div id="content"><span class="spacer"></span>This text <span class="highlite">overflows</span>.</div>
- <div id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-003.html
deleted file mode 100644
index b512b311af1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/overflow-and-selection-003.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Selection for elements in a region's visible overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="For regions that have visible overflow, their content should be selectable as without regions">
- <meta name="flags" content="interact">
- <style>
- p {
- margin: 0;
- }
- input {
- width: 100px;
- }
- #content {
- font-family: monospace;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .spacer {
- width: 100%;
- height: 80px;
- display: block;
- }
- .highlite {
- color: deepskyblue;
-
- }
- #region {
- border: 2px solid black;
- background-color: lightgray;
- width: 100px;
- height: 100px;
- flow-from: f;
- }
- #region p {
- background-color: red;
- width: 100%;
- height: 50%;
- }
- </style>
-</head>
-<body>
- <ol>
- <li>You should not see any red before or during this test.</li>
- <li>Using the mouse select the blue word (<em>overflows</em>) outside the gray square.</li>
- <li>You should see the selection highlight drawn around the word.</li>
- <li>If you copy the selected word and paste it in the text box below you should get only the word <em>overflows</em>.</li>
- </ol>
- <input type="text">
- <div id="content"><span class="spacer"></span>This text <span class="highlite">overflows</span>.</div>
- <div id="region">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-001.html
deleted file mode 100644
index a5ddbb4cf80..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-001.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Remove element from named flow when hovering the region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the flow-into property should be possible in rules that use the :hover pseudoclass">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- width: 100px;
- height: 100px;
- }
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
-
- #region {
- flow-from: f;
- border-left: 100px solid lime;
- float: left;
- }
- #region:hover + div.content {
- flow-into: none;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- You should not see any red before or during this test.
- <ol>
- <li>You should see a green and a black square side by side.</li>
- <li>Move the mouse over the green square. <strong>Expected:</strong> The black square moves under the green square.</li>
- </ol>
- <div id="region" class="box">
- <p></p>
- </div>
- <div class="box content">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-002.html
deleted file mode 100644
index da102188567..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-002.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Remove region from region chain on CSS :hover</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the flow-from property should be possible in rules that use the :hover pseudoclass">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- width: 100px;
- height: 100px;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #content p {
- flow-into: f;
- }
- #region {
- flow-from: f;
- border-left: 100px solid lime;
- background-color: lime;
- }
- #region:hover {
- /*Remove the line below or make it to _NOT_ change the actual value of the flow-from property and it will trigger as expected*/
- flow-from: none;
- border-color: red;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- You should not see any red before or during this test.
- <ol>
- <li>You should see a green and a black square side by side.</li>
- <li>Move the mouse over the green square. <strong>Expected:</strong> The black square will turn green.</li>
- </ol>
- <div id="content">
- <p>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</p>
- </div>
- <div id="region" class="box">
- <p></p>
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-003.html
deleted file mode 100644
index e3a980aa1a2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/hit-testing/region-chain-change-on-hover-003.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Remove region from region chain on CSS hover</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="assert" content="Changing the flow-from property should be possible in rules that use the :hover pseudoclass">
- <meta name="flags" content="interact ahem">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- p {
- margin: 0;
- }
- .box {
- width: 100px;
- height: 100px;
- }
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
-
- #region {
- flow-from: f;
- border-left: 100px solid lime;
- }
- div.content:hover + #region {
- flow-from: none;
- }
- #region p {
- width: 100%;
- height: 50%;
- background-color: red;
- }
- </style>
-</head>
-<body>
- You should not see any red before or during this test.
- <ol>
- <li>You should see a green and a black square side by side</li>
- <li>Move the mouse over the black square. <strong>Expected: </strong> The black square will disappear.</li>
- </ol>
- <div class="box content">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div id="region" class="box">
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html
deleted file mode 100644
index 46199c4b2d6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown events inside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown events inside a named flow should be raised when any key is pressed.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press (and do not release) any alphanumeric key in the text field in the black square.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10">
- <input type="button" id="button-inside" value="Button">
- </form>
- </div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <input type="button" id="button-outside" value="Button">
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield inside region");
- test1.step(function () {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-inside");
- }, "Target inside region has the correct ID");
-
- test1.done();
- });
- keyDown("textfield-inside");
- });
- completionCallback();
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html
deleted file mode 100644
index d5c804015ec..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown events outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown events outside a named flow should be raised when any key is pressed.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press (and do not release) any alphanumeric key in the text field in the orange square.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10">
- <input type="button" id="button-inside" value="Button">
- </form>
- </div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <input type="button" id="button-outside" value="Button">
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield outside region");
- test1.step( function() {
- var testTarget = document.getElementById("outside-region");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "textfield-outside");
- }, "Target outside region has the correct ID");
-
- test1.done();
- });
- keyDown("textfield-outside");
- });
- completionCallback();
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html
deleted file mode 100644
index f268cf11422..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeypress events inside region and outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeypress events inside and outside a named flow should be raised when any key is pressed.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press (and release) any alphanumeric key in the text field in the black square, then press
- (and release) any alphanumeric key in the text field in the orange square.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10">
- <input type="button" id="button-inside" value="Button">
- </form>
- </div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <input type="button" id="button-outside" value="Button">
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeypress event fired in textfield inside region");
- test1.step( function() {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeypress = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-inside");
- }, "Target inside region has the correct ID");
-
- test1.done();
- });
- keyDown("textfield-inside");
- });
-
- var test2 = async_test("onkeypress event fired in textfield outside region");
- test2.step( function() {
- var testTarget = document.getElementById("outside-region");
- testTarget.onkeypress = test2.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-outside");
- }, "Target outside region has the correct ID");
-
- test2.done();
- });
- keyDown("textfield-outside");
- });
- completionCallback();
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html
deleted file mode 100644
index 8a43f30e9b8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown and onkeyup events inside region and outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown and onkeyup events inside and outside a named flow should be raised when a specific
- key is pressed and released.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press (and release) the "a" key in the text field in the black square, then press (and release)
- the "a" key in the text field in the orange square.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10">
- <input type="button" id="button-inside" value="Button">
- </form>
- </div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <input type="button" id="button-outside" value="Button">
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield inside region");
- test1.step(function () {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "textfield-inside");
- }, "Target inside region has the correct ID");
-
- test1.done();
- });
- });
-
- var test2 = async_test("onkeyup event fired in textfield inside region");
- test2.step(function () {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeyup = test2.step_func(function (evt) {
-
- /* Verify the textfield inside the region has the correct value */
- test(function() {
- assert_equals(evt.target.value, "a");
- }, "Textfield inside region has the correct value");
-
- test2.done();
- });
- keyDown("textfield-inside");
- });
-
- var test3 = async_test("onkeydown event fired in textfield outside region");
- test3.step( function() {
- var testTarget = document.getElementById("outside-region");
- testTarget.onkeydown = test3.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "textfield-outside");
- }, "Target outside region has the correct ID");
-
- test3.done();
- });
- });
-
- var test4 = async_test("onkeyup event fired in textfield outside region");
- test4.step( function() {
- var testTarget = document.getElementById("outside-region");
- testTarget.onkeyup = test4.step_func(function (evt) {
-
- /* Verify the textfield inside the region has the correct value */
- test(function() {
- assert_equals(evt.target.value, "a");
- }, "Textfield outside region has the correct value");
-
- test4.done();
- });
- keyDown("textfield-outside");
- });
- completionCallback();
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html
deleted file mode 100644
index 645979cdec0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown and onkeyup events outside region using Tab key in forms</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown and onkeyup events outside a named flow should be raised when the Tab key is pressed
- and released.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press the Tab key two times.</p>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10" autofocus>
- <textarea id="textarea-outside" rows="3" cols="10"></textarea>
- </form>
- </div>
-
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10">
- <textarea id="textarea-inside" rows="3" cols="10"></textarea>
- </form>
- </div>
- </div>
-
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
-
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield outside region");
- test1.step( function() {
- var testTarget = document.getElementById("textfield-outside");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-outside");
- }, "Textfield outside region has the correct ID");
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textfield-outside");
- }, "Textfield outside region received focus");
-
- test1.done();
- });
- });
-
- var test2 = async_test("onkeyup event fired in textarea outside region");
- test2.step(function () {
- var testTarget = document.getElementById("textarea-outside");
- testTarget.onkeyup = test2.step_func(function (evt) {
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textarea-outside");
- }, "textarea outside region received focus");
-
- test2.done();
- });
- });
-
- var test3 = async_test("onkeydown event fired in textarea outside region");
- test3.step( function() {
- var testTarget = document.getElementById("textarea-outside");
- testTarget.onkeydown = test3.step_func( function(evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textarea-outside");
- }, "textarea outside region has the correct ID");
-
- test3.done();
- });
- });
-
- tabKeyPresses(2);
- completionCallback();
-
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html
deleted file mode 100644
index bf6dadd9a7a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown and onkeyup events using Delete key inside region and outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown and onkeyup events inside and outside a named flow should be raised when the Delete
- key is pressed and released.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <ol id="msg">
- <li>Highlight all of the text inside in the text field in the black square</li>
- <li>Press the Delete key to delete the contents of the text field.</li>
- <li>Highlight all of the text inside in the text field in the orange square</li>
- <li>Press the Delete key to delete the contents of the the text field.</li>
- </ol>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10" value="test1X">
- <input type="button" id="button-inside" value="Button">
- </form>
- </div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10" value="test2Y">
- <input type="button" id="button-outside" value="Button">
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield inside region");
- test1.step(function () {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "textfield-inside");
- }, "Target inside region has the correct ID");
-
- test1.done();
- });
- });
-
- var test2 = async_test("onkeyup event fired in textfield inside region");
- test2.step(function () {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeyup = test2.step_func(function (evt) {
-
- /* Verify the textfield inside the region has the correct value */
- test(function() {
- assert_equals(evt.target.value, "");
- }, "Textfield inside region has the correct value");
-
- test2.done();
- });
- pressDeleteKey("textfield-inside");
- });
-
- var test3 = async_test("onkeydown event fired in textfield outside region");
- test3.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.onkeydown = test3.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-outside");
- }, "Target outside region has the correct ID");
-
- test3.done();
- });
- });
-
- var test4 = async_test("onkeyup event fired in textfield outside region");
- test4.step( function() {
- var testTarget = document.getElementById("outside-region");
- testTarget.onkeyup = test4.step_func(function (evt) {
-
- /* Verify the textfield inside the region has the correct value */
- test(function () {
- assert_equals(evt.target.value, "");
- }, "Textfield outside region has the correct value");
-
- test4.done();
- });
- pressDeleteKey("textfield-outside");
- });
- completionCallback();
-
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html
deleted file mode 100644
index dfeb2316129..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown and onkeyup events inside multiple regions using Tab key in forms</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown and onkeyup events inside multiple named flows should be raised when the Tab key is
- pressed and released.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press the Tab key three times.</p>
- <div id="content">
- <form id="my-form">
- <div class="block">
- <input type="text" id="textfield-inside1" size="10" autofocus>
- </div>
- <div class="block">
- <input type="text" id="textfield-inside2" size="10">
- </div>
- <div id="target-block" class="block">
- <textarea id="textarea-inside" rows="3" cols="10"></textarea>
- </div>
- </form>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <input type="button" id="button-outside" value="Button">
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield1 inside region");
- test1.step(function () {
- var testTarget = document.getElementById("textfield-inside1");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "textfield-inside1");
- }, "Textfield1 inside region has the correct ID");
-
- /* Verify the textfield received focus from tab key */
- test(function() {
- assert_equals(document.activeElement.id, "textfield-inside1");
- }, "Textfield1 inside region received focus");
-
- test1.done();
- });
- });
-
- var test2 = async_test("onkeyup event fired in textfield2 inside region");
- test2.step(function () {
- var testTarget = document.getElementById("textfield-inside2");
- testTarget.onkeyup = test2.step_func(function (evt) {
- /* Log assertion that the event got fired */
- assert_true(true);
-
- test2.done();
- });
- });
-
- var test3 = async_test("onkeydown event fired in textfield2 inside region");
- test3.step( function() {
- var testTarget = document.getElementById("textfield-inside2");
- testTarget.onkeydown = test3.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-inside2");
- }, "Textfield2 inside region has the correct ID");
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textfield-inside2");
- }, "Textfield2 inside region received focus");
-
- test3.done();
- });
- });
-
- var test4 = async_test("onkeyup event fired in textarea inside region");
- test4.step( function() {
- var testTarget = document.getElementById("textarea-inside");
- testTarget.onkeyup = test4.step_func(function (evt) {
-
- /* Verify the textarea received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textarea-inside");
- }, "textarea inside region received focus");
-
- test4.done();
- });
- });
-
- var test5 = async_test("onkeydown event fired in textarea inside region");
- test5.step( function() {
- var testTarget = document.getElementById("textarea-inside");
- testTarget.onkeydown = test5.step_func(function (evt) {
-
- /* Verify the textarea inside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textarea-inside");
- }, "textarea inside region has the correct ID");
-
- test5.done();
- });
- });
-
- tabKeyPresses(3);
- completionCallback();
-
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html
deleted file mode 100644
index ba4c800553f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown and onkeyup events inside region and outside region using Tab key in forms</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown and onkeyup events inside and outside a named flow should be raised when the Tab
- key is pressed and released.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press the Tab key three times</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10" autofocus>
- <textarea id="textarea-inside" rows="3" cols="10"></textarea>
- </form>
- </div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <textarea id="textarea-outside" rows="3" cols="10"></textarea>
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield inside region");
- test1.step(function () {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-inside");
- }, "Textfield inside region has the correct ID");
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textfield-inside");
- }, "Textfield inside region received focus");
-
- test1.done();
- });
- });
-
- var test2 = async_test("onkeydown event fired in textfield outside region");
- test2.step(function () {
- var testTarget = document.getElementById("textfield-outside");
- testTarget.onkeydown = test2.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-outside");
- }, "Textfield outside region has the correct ID");
-
- test2.done();
- });
- });
-
- var test3 = async_test("onkeyup event fired in textfield outside region");
- test3.step(function () {
- var testTarget = document.getElementById("textfield-outside");
- testTarget.onkeyup = test3.step_func(function (evt) {
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textfield-outside");
- }, "Textfield outside region received focus");
-
- test3.done();
- });
- });
-
- tabKeyPresses(3);
- completionCallback();
-
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html
deleted file mode 100644
index 4f1ac1cd37a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown and onkeyup events inside region using Tab key on page where normal document flow is reordered</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown and onkeyup events inside and outside a named flow on a page where the normal document flow is reordered should be raised when the Tab key is pressed and released.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press the Tab key four times.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10" autofocus>
- <textarea id="textarea-inside" rows="3" cols="10"></textarea>
- </form>
- </div>
- </div>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <textarea id="textarea-outside" rows="3" cols="10"></textarea>
- </form>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
-
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield outside region");
- test1.step(function () {
- var testTarget = document.getElementById("textfield-outside");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-outside");
- }, "Textfield outside region has the correct ID");
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textfield-outside");
- }, "Textfield outside region received focus");
-
- test1.done();
- });
- });
-
- var test2 = async_test("onkeyup event fired in textfield outside region");
- test2.step(function () {
- var testTarget = document.getElementById("textfield-outside");
- testTarget.onkeyup = test2.step_func(function (evt) {
-
- /* Log assertion that the event got fired */
- assert_true(true);
-
- test2.done();
- });
- });
-
- var test3 = async_test("onkeydown event fired in textarea outside region");
- test3.step(function () {
- var testTarget = document.getElementById("textarea-outside");
- testTarget.onkeydown = test3.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "textarea-outside");
- }, "textarea outside region has the correct ID");
-
- test3.done();
- });
- });
-
- var test4 = async_test("onkeyup event fired in textarea outside region");
- test4.step( function() {
- var testTarget = document.getElementById("textarea-outside");
- testTarget.onkeyup = test4.step_func(function (evt) {
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textarea-outside");
- }, "textarea outside region received focus");
-
- test4.done();
- });
- });
-
- tabKeyPresses(4);
- completionCallback();
-
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html
deleted file mode 100644
index d4a6a8a1221..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onkeydown and onkeyup events inside region using Tab key in forms</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"><!-- 07-19-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onkeydown and onkeyup events inside a named flow should be raised when the Tab key is pressed
- and released.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-keyboard.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-keyboard-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Press the Tab key two times.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block">
- <form id="my-form">
- <input type="text" id="textfield-inside" size="10" autofocus>
- <textarea id="textarea-inside" rows="3" cols="10"></textarea>
- </form>
- </div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region
- <form id="form-outside">
- <input type="text" id="textfield-outside" size="10">
- <textarea id="textarea-outside" rows="3" cols="10"></textarea>
- </form>
- </div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
-
- var test1 = async_test("onkeydown event fired in textfield inside region");
- test1.step(function () {
- var testTarget = document.getElementById("textfield-inside");
- testTarget.onkeydown = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textfield-inside");
- }, "Textfield inside region has the correct ID");
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textfield-inside");
- }, "Textfield inside region received focus");
-
- test1.done();
- });
- });
-
- var test2 = async_test("onkeyup event fired in textarea inside region");
- test2.step(function () {
- var testTarget = document.getElementById("textarea-inside");
- testTarget.onkeyup = test2.step_func(function (evt) {
-
- /* Verify the textfield received focus from tab key */
- test(function () {
- assert_equals(document.activeElement.id, "textarea-inside");
- }, "textarea inside region received focus");
-
- test2.done();
- });
- });
-
- var test3 = async_test("onkeydown event fired in textarea inside region");
- test3.step( function() {
- var testTarget = document.getElementById("textarea-inside");
- testTarget.onkeydown = test3.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "textarea-inside");
- }, "textarea inside region has the correct ID");
-
- test3.done();
- });
- });
-
- tabKeyPresses(3);
- completionCallback();
-
- } //end of getLeftPosition test
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/css/regions-keyboard.css b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/css/regions-keyboard.css
deleted file mode 100644
index bdcc5b92fcf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/css/regions-keyboard.css
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Set the margin to 0 so we'll know that the target will be there if the content isn't flowing into a region */
-body {
- margin: 0;
-}
-#msg-complete {
- color: blue;
-}
-/* Set the width of the content div so that the blocks will wrap downward when they're not flowing into a region */
-#content {
- flow-into: content;
- width: 125px;
-}
-/* Set regions to float left so the blocks will be laid out horizontally when they're flowing into the regions */
-.region {
- flow-from: content;
- width: 125px;
- height: 125px;
- float:left;
-}
-/* Basic block */
-.block {
- background-color: gray;
- display: inline-block;
- width: 100px;
- height: 100px;
-}
-/* Set color on the target to be different than the others */
-#target-block {
- background-color: rgb(0, 0, 0);
-}
-#target-block:hover {
- background-color: rgb(0, 255, 0);
-}
-input:focus {
- background-color: rgb(0, 255, 0);
-}
-#outside-region {
- clear: both;
- width: 125px;
- height: 125px;
- background-color: rgb(255, 191, 0);
- margin: 25px;
-}
-#outside-region:hover {
- background-color: rgb(0, 255, 0);
-}
-#log {
- clear: both;
-}
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/js/regions-keyboard-events-test-helper.js b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/js/regions-keyboard-events-test-helper.js
deleted file mode 100644
index 0fc5d664cef..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/support/js/regions-keyboard-events-test-helper.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Timeout is 10 seconds for manual testing, 1.5 seconds for automated testing
-var testTimeout = 10000;
-if (window.testRunner) {
- testTimeout = 1500;
-}
-setup({timeout: testTimeout});
-
-// This block is executed if running in WebKit's harness
- if (window.testRunner)
-{
- testRunner.dumpAsText(false);
-}
-
-// Verify that CSS Regions are enabled in the browser.
-// Divs will be horizontal if Regions are enabled.
-// Divs will be vertical if Regions are not enabled.
-function getLeftPosition(elemID) {
- return document.getElementById(elemID).getBoundingClientRect().left;
-}
-
-function keyDown(block) {
- if(window.testRunner) {
- var input = document.getElementById(block);
- input.focus();
- eventSender.keyDown('a');
- }
-}
-
-function pressDeleteKey(block) {
- if(window.testRunner) {
- var input = document.getElementById(block);
- input.focus();
- eventSender.keyDown('delete');
- }
-}
-
-function tabKeyPresses(numOfTabs) {
- if(window.testRunner) {
- for (i=1; i<=numOfTabs; i++) {
- eventSender.keyDown('\t');
- }
- }
-}
-
-function completionCallback () {
- add_completion_callback(function (allRes, status) {
- if(status.status === 0){
- //Update the message stating that tests are complete
- var msg = document.getElementById("msg");
- msg.innerHTML += "<p id='msg-complete'>Tests are complete. All results in the Details section below should PASS.</p>";
- }
- });
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-001.html
deleted file mode 100644
index 30c2e35bd4e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-001.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onclick events inside region and outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse onclick events inside and outside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Left-click the mouse on the black square, then left-click the mouse on the orange square.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region</div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onclick event fired inside region");
- test1.step(function () {
- var testTarget = document.getElementById("target-block");
- testTarget.onclick = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "target-block");
- }, "Div clicked on inside region has the correct ID");
-
- test1.done();
- });
- mouseClick("target-block");
- });
-
- var test2 = async_test("onclick event fired outside region");
- test2.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.onclick = test2.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "outside-region");
- }, "Div clicked on outside region has the correct ID");
-
- test2.done();
- });
- mouseClick("outside-region");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-002.html
deleted file mode 100644
index 81fee6722f1..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-002.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onmousedown events inside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onmousedown events inside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Mouse down on the black square (Press the mouse button down, but do not release the mouse button).</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onmousedown event fired inside region");
- test1.step(function () {
- var testTarget = document.getElementById("target-block");
- testTarget.onmousedown = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "target-block");
- }, "Target that mousedown was performed on inside region has correct ID");
-
- test1.done();
- });
- mouseDown("target-block");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-003.html
deleted file mode 100644
index fc206aa0259..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-003.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onmousedown events outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onmousedown events outside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Mouse down on the orange square (Press the mouse button down, but do not release the mouse button).</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region</div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onmousedown event fired outside region");
- test1.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.onmousedown = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "outside-region");
- }, "Div that mousedown was performed on outside region has correct ID");
-
- test1.done();
- });
- mouseDown("outside-region");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-004.html
deleted file mode 100644
index cd57f96fc12..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-004.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onmouseup events inside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onmouseup events inside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Mouse up on the black square (Press the mouse button down somewhere outside the black square. Then drag the mouse to the black square. Release the mouse button while on the black square.)</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onmouseup event fired inside region");
- test1.step(function () {
- var testTarget = document.getElementById("target-block");
- testTarget.onmouseup = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "target-block");
- }, "Target that mouseup was performed on inside region has correct ID");
-
- test1.done();
- });
- mouseUp("target-block");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-005.html
deleted file mode 100644
index 1e728935e59..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-005.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onmouseup events outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onmouseup events outside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Mouse up on the orange square (Press the mouse button down somewhere outside the orange square. Then drag the mouse to the orange square. Release the mouse button while on the orange square.)</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region</div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onmouseup event fired outside region");
- test1.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.onmouseup = test1.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function() {
- assert_equals(evt.target.id, "outside-region");
- }, "Div that mouseup was performed on outside region has correct ID");
-
- test1.done();
- });
- mouseUp("outside-region");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-006.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-006.html
deleted file mode 100644
index de5751bdd43..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-006.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: ondblclick events inside region and outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse ondblclick events inside and outside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Double-click the mouse on the black square, then double-click the mouse on the orange square.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region</div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("ondblclick event fired inside region");
- test1.step(function () {
- var testTarget = document.getElementById("target-block");
- testTarget.ondblclick = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "target-block");
- }, "Div double-clicked on inside region has correct ID");
-
- test1.done();
- });
- mouseDblClick("target-block");
- });
-
- var test2 = async_test("ondblclick event fired outside region");
- test2.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.ondblclick = test2.step_func( function(evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "outside-region");
- }, "Div double-clicked on outside region has correct ID");
-
- test2.done();
- });
- mouseDblClick("outside-region");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-007.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-007.html
deleted file mode 100644
index 95547892b05..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-007.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onmousemove events inside region and outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onmousemove events inside and outside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Move the mouse over the black square, then move the mouse over the orange square.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region</div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onmousemove event fired inside region");
- test1.step(function () {
- var testTarget = document.getElementById("target-block");
- testTarget.onmousemove = test1.step_func(function (evt) {
-
- /* Verify the target inside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "target-block");
- }, "Div that mousemove was performed on inside region has correct ID");
-
- test1.done();
- });
- mouseMove("target-block");
- });
-
- var test2 = async_test("onmousemove event fired outside region");
- test2.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.onmousemove = test2.step_func(function (evt) {
-
- /* Verify the target outside the region has the correct ID */
- test(function () {
- assert_equals(evt.target.id, "outside-region");
- }, "Div that mousemove was performed on outside region has correct ID");
-
- test2.done();
- });
- mouseMove("outside-region");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-008.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-008.html
deleted file mode 100644
index a374cae7293..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-008.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onmouseover and onmouseout events inside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onmouseover and onmouseout events inside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Move the mouse over the black square then away from it.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block" title="PASS"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region">This div is outside the region</div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onmouseover event fired inside region");
- test1.step(function () {
- var testTarget = document.getElementById("target-block");
- testTarget.onmouseover = test1.step_func(function (evt) {
-
- /* Verify the hover color is correct */
- test(function () {
- assert_equals(getBackgroundColor("target-block"), "rgb(0, 255, 0)");
- }, "Color changes on mouseover");
-
- test1.done();
- });
- mouseOver("target-block");
- });
-
- var test2 = async_test("onmouseout event fired inside region");
- test2.step(function () {
- var testTarget = document.getElementById("target-block");
- testTarget.onmouseout = test2.step_func(function (evt) {
-
- /* Verify it returns to the original background color */
- test(function () {
- assert_equals(getBackgroundColor("target-block"), "rgb(0, 0, 0)");
- }, "Color changes back on mouseout");
-
- test2.done();
- });
- mouseOut("target-block");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-009.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-009.html
deleted file mode 100644
index 5b224addddf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/regions-mouse-events-009.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>CSS Regions: onmouseover and onmouseout events outside region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, onmouseover and onmouseout events outside a named flow should function correctly.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-mouse-events.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/regions-mouse-events-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">Move the mouse over the orange square then away from it.</p>
- <div id="content">
- <div class="block"></div>
- <div class="block"></div>
- <div id="target-block" class="block"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- <br/>
- <div id="outside-region" title="PASS">This div is outside the region</div>
- <div id="log"></div>
- </body>
- <script type="text/javascript">
-
- if(getLeftPosition("target-block") !== 0) {
- var test1 = async_test("onmouseover event fired outside region");
- test1.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.onmouseover = test1.step_func(function (evt) {
-
- /* Verify the hover color is correct */
- test(function () {
- assert_equals(getBackgroundColor("outside-region"), "rgb(0, 255, 0)");
- }, "Color changes on mouseover");
-
- test1.done();
- });
- mouseOver("outside-region");
- });
-
- var test2 = async_test("onmouseout event fired outside region");
- test2.step(function () {
- var testTarget = document.getElementById("outside-region");
- testTarget.onmouseout = test2.step_func(function (evt) {
-
- /* Verify it returns to the original background color */
- test(function () {
- assert_equals(getBackgroundColor("outside-region"), "rgb(255, 191, 0)");
- }, "Color changes back on mouseout");
-
- test2.done();
- });
- mouseOut("outside-region");
- });
- completionCallback();
- }
- else {
- test(function () {
- assert_true(false);
- }, "Regions are not enabled");
- }
-
- </script>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/css/regions-mouse-events.css b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/css/regions-mouse-events.css
deleted file mode 100644
index 8d5cbce46c2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/css/regions-mouse-events.css
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Set the margin to 0 so we'll know that the target will be there if the content isn't flowing into a region */
-body {
- margin: 0;
-}
-#msg-complete {
- color: blue;
-}
-/* Set the width of the content div so that the blocks will wrap downward when they're not flowing into a region */
-#content {
- flow-into: content;
- width: 75px;
-}
-/* Set regions to float left so the blocks will be laid out horizontally when they're flowing into the regions */
-.region {
- flow-from: content;
- width: 75px;
- height: 75px;
- float: left;
-}
-/* Basic block */
-.block {
- background-color: gray;
- display: inline-block;
- width: 50px;
- height: 50px;
-}
-/* Set color on the target to be different than the others */
-#target-block {
- background-color: rgb(0, 0, 0);
-}
-#target-block:hover {
- background-color: rgb(0, 255, 0);
-}
-#outside-region {
- clear: both;
- width: 75px;
- height: 75px;
- background-color: rgb(255, 191, 0);
- margin: 25px;
-}
-#outside-region:hover {
- background-color: rgb(0, 255, 0);
-}
-#log {
- clear: both;
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/js/regions-mouse-events-test-helper.js b/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/js/regions-mouse-events-test-helper.js
deleted file mode 100644
index efbffb7f4ac..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/mouse/support/js/regions-mouse-events-test-helper.js
+++ /dev/null
@@ -1,104 +0,0 @@
-// Timeout is 10 seconds for manual testing, 1.5 seconds for automated testing
-var testTimeout = 10000;
-if (window.testRunner) {
- testTimeout = 1500;
-}
-setup({timeout: testTimeout});
-
-// This block is executed if running in WebKit's harness
-if (window.testRunner) {
- testRunner.dumpAsText(false);
-}
-
-// Verify that CSS Regions are enabled in the browser.
-// Divs will be horizontal if Regions are enabled.
-// Divs will be vertical if Regions are not enabled.
-function getLeftPosition(elemID) {
- return document.getElementById(elemID).getBoundingClientRect().left;
-}
-
-function mouseClick(block) {
- if(window.testRunner) {
- var elemBox = document.getElementById(block).getBoundingClientRect();
- var xStartPosition = elemBox.left + elemBox.width/2;
- var yStartPosition = elemBox.top + elemBox.height/2;
- eventSender.mouseMoveTo(xStartPosition, yStartPosition);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-}
-
-function mouseDown(block) {
- if(window.testRunner) {
- var elemBox = document.getElementById(block).getBoundingClientRect();
- var xStartPosition = elemBox.left + elemBox.width/2;
- var yStartPosition = elemBox.top + elemBox.height/2;
- eventSender.mouseMoveTo(xStartPosition, yStartPosition);
- eventSender.mouseDown();
- }
-}
-
-function mouseUp(block) {
- if(window.testRunner) {
- var elemBox = document.getElementById(block).getBoundingClientRect();
- var xStartPosition = elemBox.left + elemBox.width/2;
- var yStartPosition = elemBox.top + elemBox.height/2;
- eventSender.mouseMoveTo(xStartPosition, yStartPosition);
- eventSender.mouseUp();
- }
-}
-
-function mouseDblClick(block) {
- if(window.testRunner) {
- var elemBox = document.getElementById(block).getBoundingClientRect();
- var xStartPosition = elemBox.left + elemBox.width/2;
- var yStartPosition = elemBox.top + elemBox.height/2;
- eventSender.mouseMoveTo(xStartPosition, yStartPosition);
- eventSender.mouseDown();
- eventSender.mouseUp();
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-}
-
-function mouseMove(block) {
- if(window.testRunner) {
- var elemBox = document.getElementById(block).getBoundingClientRect();
- var xStartPosition = elemBox.left + elemBox.width/2;
- var yStartPosition = elemBox.top + elemBox.height/2;
- eventSender.mouseMoveTo(xStartPosition, yStartPosition);
- }
-}
-
-function getBackgroundColor(elemID) {
- var foo = window.getComputedStyle(document.getElementById(elemID)).backgroundColor;
- return window.getComputedStyle(document.getElementById(elemID)).backgroundColor;
-}
-
-function mouseOver(block) {
- if(window.testRunner) {
- var elemBox = document.getElementById(block).getBoundingClientRect();
- var xStartPosition = elemBox.left + elemBox.width/2;
- var yStartPosition = elemBox.top + elemBox.height/2;
- eventSender.mouseMoveTo(xStartPosition, yStartPosition);
- }
-}
-
-function mouseOut(block) {
- if(window.testRunner) {
- var elemBox = document.getElementById(block).getBoundingClientRect();
- var xStartPosition = elemBox.left + elemBox.width/2;
- var yStartPosition = elemBox.top + elemBox.height/2;
- eventSender.mouseMoveTo(0, 0);
- }
-}
-
-function completionCallback () {
- add_completion_callback(function (allRes, status) {
- if(status.status === 0){
- //Update the message stating that tests are complete
- var msg = document.getElementById("msg");
- msg.innerHTML += "<p id='msg-complete'>Tests are complete. All results in the Details section below should PASS.</p>";
- }
- });
-} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html
deleted file mode 100644
index 2ec81b0d81f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-001-ref.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="../support/80px-block-ref.html" frameborder="0" width="160" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-005-ref.html
deleted file mode 100644
index afc4cd74ca6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-005-ref.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="../support/80px-block-float-ref.html" frameborder="0" width="160" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html
deleted file mode 100644
index 5399cdc8bbd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/reference/regions-resizing-011-ref.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- </head>
- <body>
- <p>Test passes if you see two green squares below and no red.</p>
- <p>The test also fails if any of the green blocks is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="../support/2-80px-block-ref.html" frameborder="0" width="160" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-001.html
deleted file mode 100644
index 04ef0e0a945..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-001.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing region that has percentage size</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing a region
- that is sized to a percentage of the body correctly relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #region {
- width: 50%;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 160, 400);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="800" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-002.html
deleted file mode 100644
index caec60defb3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-002.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing region that has position:fixed and top/right/bottom/left set</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing a region
- that has position fixed and is sized using top/right/bottom/left correctly relayouts
- the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #region {
- position: fixed;
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 80, 100);
- });
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="320" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-003.html
deleted file mode 100644
index d9e3225e514..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-003.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing region that is sized using viewport units</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing a region
- sized using viewport units correctly relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #region {
- width: 80vw;
- height: 100vh;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 100, 100);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="400" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-004.html
deleted file mode 100644
index 67437c64d75..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-004.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing auto-sized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing an
- auto-sized region correctly relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #region {
- width: auto;
- height: auto;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 80, 200);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="400" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-005.html
deleted file mode 100644
index e2653ecf56b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-005.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing floated region with percentage size relative to the body</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#regions-visual-formatting-details">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing a region
- that has a percentage size relative to the body and is floated, correctly relayouts
- the region's contents.">
- <link rel="match" href="reference/regions-resizing-005-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #region {
- float: right;
- width: 50%;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 160, 100);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="320" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-006.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-006.html
deleted file mode 100644
index 00ae9855047..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-006.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing region with percentage size inside a container that also has percentage size</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing a region
- that has a percentage size relative to a percentage-sized parent correctly relayouts
- the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- html, body {
- height: 100%;
- }
- #region-parent {
- width: 50%;
- height: 100%;
- }
- #region {
- width: 50%;
- height: 50%;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 320, 320);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-container.html" frameborder="0" width="500" height="400"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-007.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-007.html
deleted file mode 100644
index ff716cf008b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-007.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing region with percentage size inside a container that has size set in viewport units</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing a region
- that has a percentage size relative to a parent sized using viewport units correctly
- relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- html, body {
- height: 100%;
- }
- #region-parent {
- width: 50vw;
- height: 80vh;
- }
- #region {
- width: 80%;
- height: 70%;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 200, 200);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-container.html" frameborder="0" width="437" height="143"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-008.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-008.html
deleted file mode 100644
index 6b79ddaef29..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-008.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing region with percentage size when content flowed in it also has percentage size</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing a region
- that has a percentage size when the content flowed in it also has a percentage size
- set correctly relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #content {
- width: 50%;
- }
- #region {
- width: 80%;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 200, 200);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="437" height="143"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-009.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-009.html
deleted file mode 100644
index 45dc975b5d3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-009.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing autosized region when content flowed in it is sized with viewport units</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#regions-visual-formatting-details">
- <link rel="help" href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing an
- autosized region when the content flowed in it is sized with viewport units correctly
- relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #content {
- width: 40vw;
- height: 40vh;
- }
- #region {
- width: auto;
- height: auto;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 200, 200);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="437" height="143"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-010.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-010.html
deleted file mode 100644
index 95630558aa4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-010.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing percent sized region when content flowed in it is floated</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing an
- percentage sized region when the content flowed in it is floated, correctly
- relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #content {
- /* Will not be visibly offset to the right since the text align is still left-aligned
- and the content is as wide as the region. */
- float: right;
- }
- #region {
- width: 50%;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 240, 200);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="437" height="143"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-011.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-011.html
deleted file mode 100644
index e1c146f1248..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-011.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing fixed sized region and percent-sized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing two
- regions and a single named flow where one region has a fixed size size and the other
- has a percentage size correctly relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-011-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- #region1, #region2 {
- margin: 10px;
- }
-
- #region1 {
- width: 80px;
- height: 80px;
- }
-
- #region2 {
- width: 40%;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 200, 200);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see two green squares below and no red.</p>
- <p>The test also fails if any of the green blocks is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/two-regions-in-container.html" frameborder="0" width="437" height="143"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-012.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-012.html
deleted file mode 100644
index d587cf14d08..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-012.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing percent sized region and auto-sized region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#regions-visual-formatting-details">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that resizing the viewport of a page containing two
- regions and a single named flow where one region has percentage size and the other
- is auto-sized correctly relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-011-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- html, body {
- height: 100%;
- }
- #region-parent {
- height: 100%;
- }
-
- #region1 {
- width: 80%;
- height: 40%;
- }
-
- #region2 {
- margin-top: 10px;
- width: auto;
- height: auto;
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 100, 200);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see two green squares below and no red.</p>
- <p>The test also fails if any of the green blocks is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/two-regions-in-container.html" frameborder="0" width="437" height="143"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-013.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-013.html
deleted file mode 100644
index bec40648295..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/regions-resizing-013.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: resizing region based on media query</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom ahem http">
- <meta name="assert" content="Test checks that changing the size of a region via media queries
- correctly relayouts the region's contents.">
- <link rel="match" href="reference/regions-resizing-001-ref.html">
- <!-- The <script type="text/css"> below is just a textual container for styles that will be
- injected in the iframe at load time.-->
- <script id="test-styles" type="text/css">
- html, body {
- height: 100%;
- }
- #region {
- position: absolute;
- right: 0;
- bottom: 0;
- width: auto;
- height: auto;
- }
- @media (max-width: 300px) {
- #region {
- position: static;
- width: 80px;
- height: 80px;
- }
- }
- </script>
- <script src="support/util.js" type="text/javascript"></script>
- <script type="text/javascript">
- window.addEventListener("load", function() {
- injectStylesInIFrame("#test-styles", "iframe");
- resizeViewportTo("iframe", 299, 299);
- })
- </script>
- </head>
- <body>
- <p>Test passes if you see a green square below and no red.</p>
- <p>The test also fails if the there's a green block that is <strong>not</strong> a square (e.g. rectangle or polygon).</p>
- <iframe src="support/region-in-body.html" frameborder="0" width="437" height="143"></iframe>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/2-80px-block-ref.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/2-80px-block-ref.html
deleted file mode 100644
index 7bbc641de95..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/2-80px-block-ref.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>One region in body</title>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- html, body {
- margin: 0;
- padding: 0;
- }
- .content {
- margin: 10px;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- </style>
-</head>
-<body>
- <div class="content">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
- <div class="content">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-float-ref.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-float-ref.html
deleted file mode 100644
index 2643db0627f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-float-ref.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>One region in body</title>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- html, body {
- margin: 0;
- padding: 0;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- float: right;
- }
- </style>
-</head>
-<body>
- <div id="content">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-ref.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-ref.html
deleted file mode 100644
index 77d3795068f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/80px-block-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>One region in body</title>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- html, body {
- margin: 0;
- padding: 0;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- </style>
-</head>
-<body>
- <div id="content">
- xxxx<br>
- xxxx<br>
- xxxx<br>
- xxxx
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-body.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-body.html
deleted file mode 100644
index 9b9c9c68b81..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-body.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>One region in body</title>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- html, body {
- margin: 0;
- padding: 0;
- }
- #container {
- background: red;
- }
- #content {
- flow-into: flow;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- #region {
- flow-from: flow;
- }
- </style>
- <script src="util.js" type="text/javascript"></script>
-</head>
-<body>
- <div id="container">
- <!-- The &#8203; entity is a zerowidth space. It enables me to create nicely reflowing rectangles of Ahem text -->
- <div id="content">
- xxxx&#8203;xxxx&#8203;xxxx&#8203;xxxx
- </div>
- </div>
- <div id="region">
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-container.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-container.html
deleted file mode 100644
index 5e1c1c6ef36..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/region-in-container.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>One region in body</title>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- html, body {
- margin: 0;
- padding: 0;
- }
- #container {
- background: red;
- }
- #content {
- flow-into: flow;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- #region {
- flow-from: flow;
- }
- </style>
-</head>
-<body>
- <div id="container">
- <!-- The &#8203; entity is a zerowidth space. It enables me to create nicely reflowing rectangles of Ahem text -->
- <div id="content">
- xxxx&#8203;xxxx&#8203;xxxx&#8203;xxxx
- </div>
- </div>
- <div id="region-parent">
- <div id="region">
- </div>
- </div>
- <script src="util.js" type="text/javascript"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/two-regions-in-container.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/two-regions-in-container.html
deleted file mode 100644
index 2db4c048fc3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/two-regions-in-container.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>One region in body</title>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- html, body {
- margin: 0;
- padding: 0;
- }
- #container {
- background: red;
- }
- #content {
- flow-into: flow;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- #region1, #region2 {
- flow-from: flow;
- }
- </style>
-</head>
-<body>
- <div id="container">
- <!-- The &#8203; entity is a zerowidth space. It enables me to create nicely reflowing rectangles of Ahem text -->
- <div id="content">
- xxxx&#8203;xxxx&#8203;xxxx&#8203;xxxx&#8203;xxxx&#8203;xxxx&#8203;xxxx&#8203;xxxx
- </div>
- </div>
- <div id="region-parent">
- <div id="region1"></div>
- <div id="region2"></div>
- </div>
- <script src="util.js" type="text/javascript"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/util.js b/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/util.js
deleted file mode 100644
index b2fa69a97ec..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/resizing/support/util.js
+++ /dev/null
@@ -1,29 +0,0 @@
-function resizeViewportTo(viewportSelector, width, height) {
- var iframe = document.querySelector(viewportSelector);
- // Commonly used trick to trigger a layout
- iframe.contentWindow.document.body.offsetTop;
-
- iframe.width = width;
- iframe.height = height;
-
- iframe.contentWindow.document.body.offsetTop;
-}
-
-function injectStylesInIFrame(styleSelector, frameSelector) {
- var style = document.querySelector(styleSelector),
- frame = document.querySelector(frameSelector);
-
- frame.contentWindow.addNewStyles(style.textContent);
-}
-
-
-if (window.parent != window) {
- // we're in an iframe, so expose the bits that allow setting styles inside
- window.addNewStyles = function (cssText) {
- var styleTag = document.createElement("style"),
- textNode = document.createTextNode(cssText);
-
- styleTag.appendChild(textNode);
- document.head.appendChild(styleTag);
- }
-}
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-001.html
deleted file mode 100644
index 29bf67ef1b8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-001.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: Selection begins at the top of the region and ends at the bottom of the region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the
- mouse the movement.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region
- <div id="end-select" class="select-point"></div>
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-002.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-002.html
deleted file mode 100644
index dd7d0304136..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-002.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: Selection begins at the bottom of the region and ends at the top of the region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the
- mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region
- <div id="start-select" class="select-point"></div>
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-003.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-003.html
deleted file mode 100644
index b77f3543d36..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-003.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: Selection begins at the top of the region and ends in the middle of region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-004.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-004.html
deleted file mode 100644
index 7d2cdd2b560..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-004.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: Selection begins at the bottom of the region and ends in the middle of region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in
- <div id="end-select" class="select-point"></div>
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div>
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-005.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-005.html
deleted file mode 100644
index 8b7091fbf0b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-005.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions: Selection begins in the middle of the region and ends in the middle of the region moving
- downward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in in region in region region in region in region in region in region in region in region in region
- in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-006.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-006.html
deleted file mode 100644
index 6eb176bb11d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-006.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins in the middle of the region and ends in the middle of the region
- moving upward</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region
- in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-007.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-007.html
deleted file mode 100644
index 8173226ba75..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-007.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins at the top of the region and ends outside the region moving
- downward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region
- <div id="end-select" class="select-point"></div>
- after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-008.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-008.html
deleted file mode 100644
index d5e8b7e80db..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-008.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins at the bottom of the region and ends outside the region moving
- upward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region
- <div id="end-select" class="select-point"></div>
- before region before region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div>
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-009.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-009.html
deleted file mode 100644
index 9712f6dbf8d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-009.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins in the middle of the region and ends outside the region
- moving downward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- <div id="end-select" class="select-point"></div>
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-010.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-010.html
deleted file mode 100644
index 0b53764b688..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-010.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins in the middle of the region and ends outside the region moving
- upward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region
- <div id="end-select" class="select-point"></div>
- before region before region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-011.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-011.html
deleted file mode 100644
index 7ecdb5480ef..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-011.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins outside of the region and ends at the bottom of the region moving
- downward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region
- <div id="start-select" class="select-point"></div>
- before region before region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- <div id="end-select" class="select-point"></div></div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-012.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-012.html
deleted file mode 100644
index 9770a4b8d1b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-012.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins outside of the region and ends at the top the region moving
- upward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- <div id="end-select" class="select-point"></div>in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region
- after region after region after region <div id="start-select" class="select-point"></div>
- after region after region after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-013.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-013.html
deleted file mode 100644
index 5594a516451..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-013.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins outside of the region and ends in the middle of the region moving
- downward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region
- <div id="start-select" class="select-point"></div>
- before region before region before region before region before region before region before region
- before region before region before region before region before region before region before region
- before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-014.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-014.html
deleted file mode 100644
index 822b364e8f2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-014.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection begins outside of the region and ends in the middle of the region moving
- upward
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- <div id="start-select" class="select-point"></div>
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-015.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-015.html
deleted file mode 100644
index 4db2a873c98..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-015.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: Selection begins and ends outside of the region moving downward</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region
- <div id="start-select" class="select-point"></div>
- before region before region before region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- <div id="end-select" class="select-point"></div>
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-016.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-016.html
deleted file mode 100644
index 967308e633d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-016.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: Selection begins and ends outside of the region moving upward</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region
- <div id="end-select" class="select-point"></div>
- before region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region
- <div id="start-select" class="select-point"></div>
- after region after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-017.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-017.html
deleted file mode 100644
index 9497ce245dd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-017.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection is downward, begins and ends inside a region containing one other element -
- div
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse,
- including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region
- <div id="nestedDiv"> nested div nested div </div>
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region
- <div id="end-select" class="select-point"></div>
- in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { nodeName: "nestedImgInRegion", expected: true },
- { nodeName: "nestedImgAfterRegion", expected: true } ]);
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-018.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-018.html
deleted file mode 100644
index 6cb10b50a33..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-018.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection is downward, begins and ends inside a region containing one other element -
- img
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse,
- including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in
- <img id="nestedImg" src="support/img/cat.png"></img>
- region in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region
- <div id="end-select" class="select-point"></div>
- in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { nodeName: "nestedImg", expected: true } ] );
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-019.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-019.html
deleted file mode 100644
index 0c4d7fb9829..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-019.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection is upward, begins and ends inside a region containing one other element -
- div
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse,
- including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- <style>
- #nestedDiv
- {
- display: inline-block;
- }
- </style>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in
- <div id="nestedDiv"> nested div nested div </div> region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in
- region in region in region <div id="start-select" class="select-point"></div>in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest();
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-020.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-020.html
deleted file mode 100644
index e7489506576..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-020.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection is upward, begins and ends inside a region containing one other element -
- img
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse,
- including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before
- region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in
- <img id="nestedImg" src="support/img/cat.png"></img>
- region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div>
- in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { nodeName: "nestedImg", expected: true } ] );
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-021.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-021.html
deleted file mode 100644
index fd7d4c068a8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-021.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection is downward, begins and ends inside a region containing two other elements -
- div + img
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse,
- including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- <div id="nestedDiv"> nested div
- <img id="nestedImg" src="support/img/cat.png"></img> nested div
- </div>
- region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region
- <div id="end-select" class="select-point"></div>in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { nodeName: "nestedImg", expected: true } ] );
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-022.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-022.html
deleted file mode 100644
index 6053a40d173..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-022.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions: Selection is upward, begins and ends inside a region containing two other elements -
- div + img
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection within a region should contain all of the content dragged over by the mouse,
- including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before region
- before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region
- <div id="end-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- <div id="nestedDiv">
- nested div <img id="nestedImg" src="support/img/cat.png"></img> nested div
- </div>
- region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div>in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { nodeName: "nestedImg", expected: true } ] );
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-023.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-023.html
deleted file mode 100644
index 0afcc1e687a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-023.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions Test: Selection is downward, begins inside a region and ends outside of it - both the region
- and the content after it have child elements
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mouse, including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region before region before region before region before region before region before region before
- region before region before region before region before region before region before region before
- region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region
- <div id="start-select" class="select-point"></div>
- in region in region in region in region in region in region in region in region in region in region
- in region in region in region in region in region in region in region in region in region in region in
- <div id="nestedDiv">
- nested div <img id="nestedImgInRegion" src="support/img/cat.png"></img> nested div
- </div>
- region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region <div id="nestedDiv"> nested div <img id="nestedImgAfterRegion" src="support/img/cat.png"></img>
- nested div nested div nested div nested div</div> after region after region after region after region
- <div id="end-select" class="select-point"></div>
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { nodeName: "nestedImgInRegion", expected: true },
- { nodeName: "nestedImgAfterRegion", expected: true } ]);
- </script>
-
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-024.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-024.html
deleted file mode 100644
index 03b40048fe0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-024.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>
- CSS Regions: Selection is upward, begins inside and ends outside a region - both the region
- and the before after it have child elements
- </title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection inside and outside of a named flow should contain all of the content dragged
- over by the mousemovement, including nested elements.">
- <meta name="flags" content="dom interact">
- <link href="support/css/regions-selection.css" rel="stylesheet" type="text/css">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <div id="beforeRegion">
- before region
- <div id="end-select" class="select-point"></div>
- before region before region before region
- <div id="nestedDiv">
- nested div <img id="nestedImgBeforeRegion" src="support/img/cat.png"></img>
- nested div nested div nested div nested div
- </div>
- before region before region before region before region before region before region before region
- before region before region before region before region before region before region before region
- </div>
- <div id="region"></div>
- <div id="source">
- in region in region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region in region in
- region in
- <div id="nestedDiv">
- nested div <img id="nestedImgInRegion" src="support/img/cat.png"></img> nested div
- </div>
- region in region in region in region in region in region in region in region in region in
- region in region in region in region in region in region in region in region in region
- <div id="start-select" class="select-point"></div> in region
- </div>
- <div id="afterRegion">
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region after region after region after region
- after region after region after region after region after region
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { nodeName: "nestedImgInRegion", expected: true },
- { nodeName: "nestedImgBeforeRegion", expected: true } ]);
- </script>
- </body>
-</html>
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-025.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-025.html
deleted file mode 100644
index 9ed1dd8b312..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/regions-selection-025.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: DOM order is different than the linear selection</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#relation-to-document-events">
- <meta name="assert" content="CSS regions module does not alter the normal processing of events in the document
- tree. Therefore, mouse selection should capture content in DOM order as it would without a named flow.">
- <meta name="flags" content="dom interact">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="support/js/selection-test-helper.js"></script>
- <style>
- #source
- {
- position: absolute;
- flow-into: content;
- }
- .region
- {
- flow-from: content;
- width: 150px;
- height: 150px;
- margin: 15px;
- }
- #region
- {
- position: absolute;
- left: 0px;
- color: red;
- }
- #region-2
- {
- position: absolute;
- left: 330px;
- }
- #region-3
- {
- position: absolute;
- left: 165px;
- }
- #start-select
- {
- background-color: orange;
- }
- #end-select
- {
- background-color: blue;
- }
- .select-point
- {
- width: 15px;
- height: 15px;
- display: inline-block;
- }
- #log {
- position: relative;
- top: 175px;
- clear: both;
- }
- </style>
- </head>
- <body>
- <p id="msg">
- Click on the orange square, keep the mouse button down and drag it to the blue square,
- release the mouse over the blue square.
- </p>
- <!-- This text will only appear if regions are not enabled -->
- <div id="region" class="region">REGIONS ARE NOT ENABLED</div>
- <div id="region-2" class="region"></div>
- <div id="region-3" class="region"></div>
- <div id="source">
- <span id="two-regions">
- <div id="start-select" class="select-point"></div>
- between the squares between the squares between the squares between the squares between the squares
- between the squares between the squares between the squares between the squares between the squares
- between the squares between the squares between the squares
- <div id="end-select" class="select-point"></div>
- </span>
- <span id="one-region">
- after the squares after the squares after the squares after the squares after the squares
- after the squares after the squares after the squares after the squares after the squares
- after the squares after the squares
- </span>
- </div>
- <div id="log"></div>
- <script>
- runSelectionTest( [ { string: "after the squares", expected: false }], true);
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/css/regions-selection.css b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/css/regions-selection.css
deleted file mode 100644
index 081d200386e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/css/regions-selection.css
+++ /dev/null
@@ -1,22 +0,0 @@
-#source
-{
- flow-into: content;
-}
-#region
-{
- flow-from: content;
-}
-#start-select
-{
- background-color: orange;
-}
-#end-select
-{
- background-color: blue;
-}
-.select-point
-{
- width: 15px;
- height: 15px;
- display: inline-block;
-}
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/img/cat.png b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/img/cat.png
deleted file mode 100644
index 85dd7324815..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/img/cat.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/js/selection-test-helper.js b/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/js/selection-test-helper.js
deleted file mode 100644
index 0dba0ef5fb3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/selection/support/js/selection-test-helper.js
+++ /dev/null
@@ -1,261 +0,0 @@
-var testTimeout = 10000;
-
-setup({timeout: testTimeout});
-
-// This block is excecuted if running in WebKit's harness
-if (window.testRunner)
-{
- testRunner.dumpEditingCallbacks();
- testRunner.dumpAsText(false);
-}
-
-var DEFAULT_MOUSE_VALUE = true;
-
-/*
- * Main test function that defines the testharness test() functions
- */
-function runSelectionTest(inSelectionTests, useMouse)
-{
- var selectionTests = inSelectionTests || [];
- var useMouse = (useMouse === undefined) ? DEFAULT_MOUSE_VALUE : useMouse;
-
- if( isRegionsEnabled() )
- {
- var selectionTest = async_test("Text was selected");
- selectionTest.step( function()
- {
- var endSelect = document.getElementById("end-select");
- endSelect.onmouseup = selectionTest.step_func( function(evt)
- {
- /* Verify something got selected */
- var selectedText = getCurrentSelectedText();
- assert_not_equals(selectedText, "");
-
- /* Verify the selected text is everything between the start and end points */
- test( function() { verifySelectedText() }, "Selected text is correct" );
-
- /* Check for specific things in the selection */
- for(var i=0; i < selectionTests.length; i++)
- {
- if( selectionTests[i].nodeName )
- {
- var nodeName = selectionTests[i].nodeName
- var nodeExp = selectionTests[i].expected;
- var msg = nodeName + " is " + (nodeExp == true ? "" : "not ") + "in selection";
- test( function(){ assert_equals(isNodeInSelection(nodeName), nodeExp) }, msg);
- }
- else if( selectionTests[i].string )
- {
- var strToCheck = selectionTests[i].string;
- var strExp = selectionTests[i].expected;
- var msg = "'"+strToCheck+ "' is " + (strExp == true ? "" : "not ") + "in selection";
- test( function(){ assert_equals(isStringInSelection(strToCheck), strExp) }, msg);
- }
- }
-
- // Update the message stating the tests are complete
- var msg = document.getElementById("msg");
-
- var complete = document.createElement("p");
- complete.innerHTML = "Tests are complete. All results in the Details section below should PASS.";
- complete.style.color = "blue";
- msg.appendChild(complete);
-
- selectionTest.done();
- });
-
- setSelection("start-select", "end-select", useMouse);
- });
- }
- else
- {
- test( function(){ assert_true(false) }, "Regions are not enabled");
- }
-}
-
-/*
- * Set the document selection in an automated way
- * If running in Webkit's testRunner, uses internal WebKit APIs to simulate mouse movement.
- * Has option to bypass the mouse movement and set the selection range object directly
- * If not running in Webkit, the function exits, leaving the selection to be done manually.
- */
-function setSelection(start, end, useMouse)
-{
- if(window.testRunner)
- {
- // This block is executed if running in the Webkit harness
- var startNode = document.getElementById(start);
- var endNode = document.getElementById(end);
-
- var xStartPosition = startNode.getBoundingClientRect().left
- var yStartPosition = startNode.getBoundingClientRect().top
-
- var tmp = startNode.getBoundingClientRect();
-
- var xEndPosition = endNode.getBoundingClientRect().left
- var yEndPosition = endNode.getBoundingClientRect().top
-
- if( isTopToBottom(startNode, endNode) )
- {
- xEndPosition += endNode.getBoundingClientRect().width
- }
- else
- {
- xStartPosition += startNode.getBoundingClientRect().width
- }
-
- if(useMouse)
- {
- console.log("Selection set with the mouse");
- eventSender.mouseMoveTo(xStartPosition, yStartPosition);
- eventSender.mouseDown();
-
- eventSender.mouseMoveTo(xEndPosition, yEndPosition);
- eventSender.mouseUp();
-
- // Need to manually dispatch this event - it doesn't get
- // sent otherwise when running in testRunner
- var mouseUpEvt = document.createEvent('MouseEvents');
- mouseUpEvt.initMouseEvent( 'mouseup',true,true,window,1,0,0,
- xEndPosition,yEndPosition,
- false,false,false,false,1,null);
-
- endNode.dispatchEvent(mouseUpEvt);
- }
- else
- {
- console.log("Selection set without the mouse");
- var range = document.createRange();
- range.setStart(startNode, 0);
- range.setEnd(endNode, 0);
-
- var sel = window.getSelection();
- sel.removeAllRanges();
- sel.addRange(range);
- }
- }
-}
-
-function isRegionsEnabled()
-{
- var style = document.getElementById("region").style
-
- if (typeof style["flow-from"] == 'string')
- return true;
- else
- return false;
-}
-
-/*
- * Determines whether range formed from the startPoint and endPoint
- * are in top to bottom order in the DOM
- */
-function isTopToBottom(startPoint, endPoint)
-{
- var start = document.createRange();
- start.setStart(startPoint, 0);
- start.setEnd(startPoint, 0);
-
- var end = document.createRange();
- end.setStart(endPoint, 0);
- end.setEnd(endPoint, 0);
-
- if( start.compareBoundaryPoints(Range.START_TO_END, end) < 0)
- return true;
- else
- return false;
-}
-
-/*
- * Returns just the text in the range specified by start and end, with newlines removed
- */
-function getTextRange(start, end)
-{
- var startNode = document.getElementById(start);
- var endNode = document.getElementById(end);
-
- var range = document.createRange();
- if(isTopToBottom(startNode, endNode))
- {
- range.setStart(startNode, 0);
- range.setEnd(endNode, 0);
- }
- else
- {
- range.setStart(endNode, 0);
- range.setEnd(startNode, 0);
- }
-
- return range.toString().replace(/\n/g,"");
-}
-
-/*
- * Returns just the text that is currently selected in the document, with newlines removed
- */
-function getCurrentSelectedText()
-{
- var currentSelection = "";
-
- var sel = window.getSelection();
- if (sel.rangeCount)
- {
- for (var i = 0, len = sel.rangeCount; i < len; ++i)
- {
- currRange = sel.getRangeAt(i);
- currentSelection += sel.getRangeAt(i).toString();
- }
- }
-
- return currentSelection.replace(/\n/g,"");
-}
-
-/*
- * Verifies the current selection text matches the text between the start-select and end-select elements
- */
-function verifySelectedText()
-{
- var expected = getTextRange("start-select", "end-select");
- var actual = getCurrentSelectedText();
- assert_equals(actual, expected);
-}
-
-/*
- * Returns true of strToCheck is in the current document selection, false if not
- */
-function isStringInSelection(strToCheck)
-{
- var sel = window.getSelection().getRangeAt(0);
-
- // If not, check for a substring
- if(sel.toString().indexOf(strToCheck) >= 0)
- return true;
- else
- return false;
-}
-
-/*
- * Returns true if the node toCheck is in the current document selection
- */
-function isNodeInSelection(toCheck)
-{
- var sel = window.getSelection().getRangeAt(0);
-
- // If it's a node in the document, check the start & end points
- var nodeToCheck = document.getElementById(toCheck);
- var range = document.createRange()
- range.setStart(nodeToCheck, 0);
- range.setEnd(nodeToCheck, nodeToCheck.childNodes.length);
-
- var startToStart = sel.compareBoundaryPoints(Range.START_TO_START, range);
- var startToEnd = sel.compareBoundaryPoints(Range.START_TO_END, range);
- var endToEnd = sel.compareBoundaryPoints(Range.END_TO_END, range);
- var endToStart = sel.compareBoundaryPoints(Range.END_TO_START, range);
-
- if(startToStart == startToEnd == endToEnd == endToStart)
- return false;
- else
- return true;
-}
-
-
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html
deleted file mode 100644
index f99644ae302..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-003-ref.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
- .green {
- position: absolute;
- top: 70px;
- background-color: green;
- width: 100px;
- height: 200px;
- }
- #rect-1 {
- left: 20px;
- }
- #rect-2 {
- left: 150px;
- }
- #rect-3 {
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are three vertical green rectangles and no red.</p>
- <div class="green" id="rect-1"></div>
- <div class="green" id="rect-2"></div>
- <div class="green" id="rect-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-006-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-006-ref.html
deleted file mode 100644
index c76c3bbe467..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-006-ref.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
- .green {
- position: absolute;
- background-color: green;
- width: 100px;
- }
- #rect-1, #rect-2 {
- top: 70px;
- height: 200px;
- }
- #rect-1 {
- left: 20px;
- }
- #rect-2 {
- left: 150px;
- }
- #square {
- top: 170px;
- left: 280px;
- height: 100px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two vertical green rectangles with one green
- square to the right of them and no red.</p>
- <div class="green" id="rect-1"></div>
- <div class="green" id="rect-2"></div>
- <div class="green" id="square"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-008-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-008-ref.html
deleted file mode 100644
index c7e2d981b31..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-008-ref.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
- .green {
- position: absolute;
- background-color: green;
- width: 100px;
- }
- #rect-1, #rect-2 {
- top: 70px;
- height: 200px;
- }
- #rect-1 {
- left: 20px;
- }
- #rect-2 {
- left: 150px;
- }
- #lightgreen-square {
- position: absolute;
- background-color: lightgreen;
- top: 170px;
- left: 280px;
- width: 100px;
- height: 100px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two vertical green rectangles with one light
- green square to the bottom right of them and no red.</p>
- <div class="green" id="rect-1"></div>
- <div class="green" id="rect-2"></div>
- <div id="lightgreen-square"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-009-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-009-ref.html
deleted file mode 100644
index d157f284828..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-009-ref.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
- .green {
- position: absolute;
- background-color: green;
- width: 100px;
- }
- #square {
- top: 170px;
- left: 20px;
- height: 100px;
- }
- #rect-1, #rect-2 {
- top: 70px;
- height: 200px;
- }
- #rect-1 {
- left: 150px;
- }
- #rect-2 {
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is one green square and two vertical
- green rectangles to the right of it and no red.</p>
- <div class="green" id="square"></div>
- <div class="green" id="rect-1"></div>
- <div class="green" id="rect-2"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-012-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-012-ref.html
deleted file mode 100644
index 7e17aeb8d4d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-012-ref.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
-
- .bar {
- position: absolute;
- width: 100px;
- }
- .full {
- height: 200px;
- }
- .half {
- height: 100px;
- }
- .green {
- background-color: green;
- top: 150px;
- }
- .lightgreen {
- background-color: lightgreen;
- }
- #rect-1 {
- left: 20px;
- }
- #rect-2 {
- left: 150px;
- }
- #rect-3 {
- top: 250px;
- left: 150px;
- }
- #rect-4 {
- top: 150px;
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if:
- <ul>
- <li>There is a dark green vertical rectangle on the left</li>
- <li>There is a dark green square in the middle with a light green
- square below it</li>
- <li>There is a light green vertical rectangle on the right</li>
- <li>There is no red
- </ul>
- </p>
- <div class="green bar full" id="rect-1"></div>
- <div class="green bar half" id="rect-2"></div>
- <div class="lightgreen bar half" id="rect-3"></div>
- <div class="lightgreen bar full" id="rect-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-013-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-013-ref.html
deleted file mode 100644
index 54e40694df4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-013-ref.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
-
- .green {
- position: absolute;
- top: 50px;
- width: 50px;
- height: 200px;
- background-color: green;
- }
- #bar-1 {
- left: 20px;
- }
- #bar-2 {
- left: 80px;
- }
- #bar-3 {
- left: 140px;
- }
- #bar-4 {
- left: 200px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are four green vertical bars and no red.</p>
- <div class="green" id="bar-1"></div>
- <div class="green" id="bar-2"></div>
- <div class="green" id="bar-3"></div>
- <div class="green" id="bar-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-016-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-016-ref.html
deleted file mode 100644
index 35b46b53054..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-016-ref.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
-
- .green {
- position: absolute;
- top: 75px;
- width: 50px;
- background-color: green;
- }
- #bar-1, #bar-2, #bar-3, #bar-4 {
- height: 200px;
- }
- #bar-1 {
- left: 20px;
- }
- #bar-2 {
- left: 80px;
- }
- #bar-3 {
- left: 140px;
- }
- #bar-4 {
- left: 200px;
- }
- .square {
- height: 50px;
- left: 260px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are four green vertical bars, plus one
- small green square to their right and no red.</p>
- <div class="green" id="bar-1"></div>
- <div class="green" id="bar-2"></div>
- <div class="green" id="bar-3"></div>
- <div class="green" id="bar-4"></div>
- <div class="green" id="square"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-017-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-017-ref.html
deleted file mode 100644
index 64ae5b5a307..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-017-ref.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
- #box {
- position: absolute;
- top: 50px;
- left: 20px;
- width: 200px;
- height: 200px;
- border: 2px solid black;
- background-color: gray;
- }
- .black {
- position: absolute;
- background-color: black;
- width: 50px;
- height: 50px;
- }
- #r1c3 {
- left: 100px;
- }
- #r2c2 {
- left: 50px;
- top: 50px;
- }
- #r2c4 {
- left: 150px;
- top: 50px;
- }
- #r3c1 {
- top: 100px;
- }
- #r3c3 {
- left: 100px;
- top: 100px;
- }
- #r4c2 {
- left: 50px;
- top: 150px;
- }
- #r4c4 {
- left: 150px;
- top: 150px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is a 4x4 black and gray checkerboard and no red.</p>
- <div id="box">
- <div class="black"></div>
- <div class="black" id="r1c3"></div>
- <div class="black" id="r2c2"></div>
- <div class="black" id="r2c4"></div>
- <div class="black" id="r3c1"></div>
- <div class="black" id="r3c3"></div>
- <div class="black" id="r4c2"></div>
- <div class="black" id="r4c4"></div>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-019-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-019-ref.html
deleted file mode 100644
index bbad3a6ac44..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-019-ref.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
- .bar {
- position: absolute;
- top: 50px;
- width: 50px;
- height: 200px;
- }
- .green {
- background-color: green;
- }
- .blue {
- background-color: blue;
- }
- #bar-1 {
- left: 20px;
- }
- #bar-2 {
- left: 70px;
- }
- #bar-3 {
- left: 120px;
- }
- #bar-4 {
- left: 170px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is a square with four vertical
- stripes alternating green and blue, and no red.</p>
- <div class="green bar" id="bar-1"></div>
- <div class="blue bar" id="bar-2"></div>
- <div class="green bar" id="bar-3"></div>
- <div class="blue bar" id="bar-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html
deleted file mode 100644
index 584b410311d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-024-ref.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <style type="text/css">
- .block {
- position: absolute;
- top: 70px;
- width: 60px;
- }
- .green {
- background-color: green;
- height: 60px;
- }
- #square-1 {
- left: 20px;
- }
- #square-2 {
- left: 90px;
- }
- #blue-rect {
- background-color: blue;
- height: 120px;
- left: 190px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green side by side squares on the left of one blue vertical rectangle.
- There should be no red.</p>
- <div class="green block" id="square-1"></div>
- <div class="green block" id="square-2"></div>
- <div class="block" id="blue-rect"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-028-ref.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-028-ref.html
deleted file mode 100644
index 36f296f06e4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/reference/regions-multicol-028-ref.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <style type="text/css">
- .block {
- position: absolute;
- top: 70px;
- width: 60px;
- height: 120px;
- }
- .green {
- background-color: green;
- }
- .blue {
- background-color: blue;
- }
- #rect-1 {
- left: 20px;
- }
- #rect-2 {
- left: 90px;
- }
- #rect-3 {
- left: 190px;
- }
- #rect-4 {
- left: 260px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green vertical rectangles on the left of two blue vertical rectangles.
- There should be no red.</p>
- <div class="green block" id="rect-1"></div>
- <div class="green block" id="rect-2"></div>
- <div class="blue block" id="rect-3"></div>
- <div class="blue block" id="rect-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-003.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-003.html
deleted file mode 100644
index 5952996076c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-003.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container, text content
- overflowing one region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-003-ref.html"/>
- <meta name="assert" content="This test checks that text content flows through a region
- maintaining the named flow multi-column container and that
- it overflows visibly into a third column."/>
- <meta name="flags" content="ahem"/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow-multicol {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 230px;
- height: 200px;
- color: green;
- columns: 2;
- column-gap: 30px;
- flow-into: multicol;
- }
- #region {
- position: absolute;
- top: 70px;
- left: 20px;
- width: 230px;
- height: 200px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- top: 70px;
- left: 20px;
- background-color: red;
- width: 100px;
- height: 200px;
- z-index: -1;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 150px;
- }
- #block-3 {
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are three vertical green rectangles and no red.</p>
- <div id="named-flow-multicol">
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- </div>
- <div id="region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-004.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-004.html
deleted file mode 100644
index 4e00e0ffdea..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-004.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow, text content flowing into one multi-column region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-003-ref.html"/>
- <meta name="flags" content="ahem"/>
- <meta name="assert" content="This test checks that text content in a named flow is
- laid out using columns when flowed in a multi-column
- region."/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: multicol;
- }
- #multicol-region {
- position: absolute;
- top: 70px;
- left: 20px;
- width: 360px;
- height: 200px;
- columns: 3;
- column-gap: 30px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- top: 70px;
- background-color: red;
- width: 100px;
- height: 200px;
- z-index: -1;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 150px;
- }
- #block-3 {
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are three vertical green rectangles and no red.</p>
- <div id="named-flow">
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- </div>
- <div id="multicol-region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-006.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-006.html
deleted file mode 100644
index 94f9e2d58d4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-006.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow, text content - fragmented between
- multicol region and non-multicol region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-006-ref.html"/>
- <meta name="flags" content="ahem"/>
- <meta name="assert" content="This test checks that the named flow text
- content flows through the multi-column region
- in the region chain then through the second
- non-multicol region in the chain."/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: multicol;
- }
- #multicol-region {
- position: absolute;
- top: 70px;
- left: 20px;
- width: 230px;
- height: 200px;
- columns: 2;
- column-gap: 30px;
- flow-from: multicol;
- }
- #remainder-region {
- position: absolute;
- top: 170px;
- left: 280px;
- width: 100px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- background-color: red;
- width: 100px;
- z-index: -1;
- }
- #block-1, #block-2 {
- top: 70px;
- height: 200px;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 150px;
- }
- #block-3 {
- top: 170px;
- left: 280px;
- height: 100px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two vertical green rectangles with one green
- square to the right of them and no red.</p>
- <div id="named-flow">
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- </div>
- <div id="multicol-region"></div>
- <div id="remainder-region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-008.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-008.html
deleted file mode 100644
index 46a341280dd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-008.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow, non-text fragmentable content flowing into multi-column
- region then into non-multicol region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-008-ref.html"/>
- <meta name="assert" content="This test checks that non-text named flow contentmulti-column is
- fragmented first through the columns in a region multi-column
- container, then through a second non-multi-column region."/>
-
-
- <style type="text/css">
- #named-flow {
- flow-into: multicol;
- }
- #named-flow-child-1, #named-flow-child-2 {
- width: 100px;
- height: 200px;
- background: green;
- }
- #named-flow-child-3 {
- width: 100px;
- height: 100px;
- background: lightgreen;
- }
- #multicol-region {
- position: absolute;
- top: 70px;
- left: 20px;
- width: 230px;
- height: 200px;
- columns: 2;
- column-gap: 30px;
- flow-from: multicol;
- }
- #remainder-region {
- position: absolute;
- top: 170px;
- left: 280px;
- width: 100px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- background-color: red;
- width: 100px;
- z-index: -1;
- }
- #block-1, #block-2 {
- top: 70px;
- height: 200px;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 150px;
- }
- #block-3 {
- top: 170px;
- left: 280px;
- height: 100px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two vertical green rectangles with one light
- green square to the bottom right of them and no red.</p>
- <div id="named-flow">
- <div id="named-flow-child-1"></div>
- <div id="named-flow-child-2"></div>
- <div id="named-flow-child-3"></div>
- </div>
- <div id="multicol-region"></div>
- <div id="remainder-region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-009.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-009.html
deleted file mode 100644
index f4c59682874..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-009.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow, text content flowing into a simple region
- then into a multi-column region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-009-ref.html"/>
- <meta name="assert" content="This test checks that text named flow
- content is fragmented first through a simple region,
- then through a multi-column region"/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: multicol;
- }
- #first-region {
- position: absolute;
- top: 170px;
- left: 20px;
- width: 100px;
- flow-from: multicol;
- }
- #multicol-region {
- position: absolute;
- top: 70px;
- left: 150px;
- width: 230px;
- height: 200px;
- columns: 2;
- column-gap: 30px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- background-color: red;
- width: 100px;
- z-index: -1;
- }
- #block-1, #block-2 {
- top: 70px;
- height: 200px;
- }
- #block-1 {
- left: 150px;
- }
- #block-2 {
- left: 280px;
- }
- #block-3 {
- top: 170px;
- left: 20px;
- height: 100px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is one green square and two vertical
- green rectangles to the right of it and no red.</p>
- <div id="named-flow">
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- </div>
- <div id="first-region"></div>
- <div id="multicol-region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-011.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-011.html
deleted file mode 100644
index 222ef24c69f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-011.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow, non-text fragmentable content flowing into non-mulicol
- region then into a multi-column region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-009-ref.html"/>
- <meta name="assert" content="This test checks that non-text fragmentable named
- flow content is fragmented through a simple region, then
- through a multi-column region."/>
- <style type="text/css">
- #named-flow {
- width: 100px;
- height: 500px;
- flow-into: multicol;
- }
- #named-flow-child-1 {
- width: 100px;
- height: 100px;
- background: green;
- }
- #named-flow-child-2, #named-flow-child-3 {
- width: 100px;
- height: 200px;
- background: green;
- }
- #first-region {
- position: absolute;
- top: 170px;
- left: 20px;
- width: 100px;
- flow-from: multicol;
- }
- #multicol-region {
- position: absolute;
- top: 70px;
- left: 150px;
- width: 230px;
- height: 200px;
- columns: 2;
- column-gap: 30px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- background-color: red;
- width: 100px;
- z-index: -1;
- }
- #block-1, #block-2 {
- top: 70px;
- height: 200px;
- }
- #block-1 {
- left: 150px;
- }
- #block-2 {
- left: 280px;
- }
- #block-3 {
- top: 170px;
- left: 20px;
- height: 100px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is one green square on the left and two vertical
- green rectangles to the right of it and no red.</p>
- <div id="named-flow">
- <div id="named-flow-child-1"></div>
- <div id="named-flow-child-2"></div>
- <div id="named-flow-child-3"></div>
- </div>
- <div id="first-region"></div>
- <div id="multicol-region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-012.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-012.html
deleted file mode 100644
index 1dab35e1a74..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-012.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container, monolithic content
- flowing into one region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-012-ref.html"/>
- <meta name="assert" content="This test checks that monolithic content in a named flow
- multi-column container flows through the region."/>
- <style type="text/css">
- #named-flow-multicol {
- width: 360px;
- height: 200px;
- columns: 3;
- column-gap: 30px;
- column-rule: none;
- flow-into: multicol;
- }
- .named-flow-block {
- width: 100px;
- height: 300px;
- }
- .green {
- background-color: green;
- }
- .lightgreen {
- background-color: lightgreen;
- }
- #region {
- position: absolute;
- top: 150px;
- left: 20px;
- width: 230px;
- height: 200px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- top: 150px;
- left: 20px;
- background-color: red;
- width: 100px;
- height: 200px;
- z-index: -1;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 150px;
- }
- #block-3 {
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if:
- <ul>
- <li>There is a dark green vertical rectangle on the left</li>
- <li>There is a dark green square in the middle with a light green
- square below it</li>
- <li>There is a light green vertical rectangle on the right</li>
- <li>There is no red
- </ul>
- </p>
- <div id="named-flow-multicol">
- <div class="named-flow-block green"></div>
- <div class="named-flow-block lightgreen"></div>
- </div>
- <div id="region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-013.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-013.html
deleted file mode 100644
index 2020ec50ef3..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-013.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow, text content flowing into multiple regions
- fragmented across multiple columns and overflowing the last region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-013-ref.html"/>
- <meta name="flags" content="ahem"/>
- <meta name="assert" content="This test checks that the named flow text
- content flows through the regions in the
- multi-column container and that it overflows
- visibly into a fourth column."/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow {
- font-family: Ahem;
- font-size: 25px;
- line-height: 1em;
- color: green;
- flow-into: multicol;
- }
- #multicol-container {
- position: absolute;
- top: 50px;
- left: 20px;
- width: 170px;
- height: 200px;
- columns: 3;
- column-gap: 10px;
- }
- #region-1 , #region-2, #region-3 {
- width: 50px;
- height: 200px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- background-color: red;
- top: 50px;
- width: 50px;
- height: 200px;
- z-index: -1;
- }
- #bar-1 {
- left: 20px;
- }
- #bar-2 {
- left: 80px;
- }
- #bar-3 {
- left: 140px;
- }
- #bar-4 {
- left: 200px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are four green vertical bars and no red.</p>
- <div id="named-flow">
- XX XX XX XX XX XX XX XX
- XX XX XX XX XX XX XX XX
- XX XX XX XX XX XX XX XX
- XX XX XX XX XX XX XX XX
- </div>
- <div id="multicol-container">
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div id="region-3"></div>
- </div>
- <div class="failure" id="bar-1"></div>
- <div class="failure" id="bar-2"></div>
- <div class="failure" id="bar-3"></div>
- <div class="failure" id="bar-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-015.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-015.html
deleted file mode 100644
index 41fe6cfa940..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-015.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow muticolumn container, text content flowing into
- multiple regions with content overflowing last region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-013-ref.html"/>
- <meta name="flags" content="ahem"/>
- <meta name="assert" content="This test checks that text content flows through multiple
- regions from the named flow multi-column container and that
- it overflows the last region in the region chain visibly."/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow-multicol {
- font-family: Ahem;
- font-size: 25px;
- line-height: 1em;
- color: green;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
- }
- #region-1 , #region-2 {
- position: absolute;
- top: 50px;
- width: 110px;
- flow-from: multicol;
- }
- #region-1 {
- left: 20px;
- height: 200px;
- }
- #region-2 {
- left: 140px;
- height: 100px;
- }
- .failure {
- position: absolute;
- background-color: red;
- top: 50px;
- width: 50px;
- height: 200px;
- z-index: -1;
- }
- #bar-1 {
- left: 20px;
- }
- #bar-2 {
- left: 80px;
- }
- #bar-3 {
- left: 140px;
- }
- #bar-4 {
- left: 200px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are four green vertical bars and no red.</p>
- <div id="named-flow-multicol">
- XX XX XX XX XX XX XX XX
- XX XX XX XX XX XX XX XX
- XX XX XX XX XX XX XX XX
- XX XX XX XX XX XX XX XX
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="bar-1"></div>
- <div class="failure" id="bar-2"></div>
- <div class="failure" id="bar-3"></div>
- <div class="failure" id="bar-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-016.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-016.html
deleted file mode 100644
index 4d2e7814a70..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-016.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>CSS Test: One named flow multi-column container, monolithic
- content flowing into multiple regions</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-016-ref.html"/>
- <meta name="assert" content="This test checks that monolithic content
- flows through multiple regions from the named flow
- multi-column container and that it overflows the last
- region in the region chain visibly into
- a fifth column."/>
- <style type="text/css">
- #named-flow-multicol {
- background-color: green;
- width: 50px;
- height: 900px;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
-
- }
- #region-1 , #region-2 {
- position: absolute;
- top: 75px;
- width: 110px;
- flow-from: multicol;
- }
- #region-1 {
- left: 20px;
- height: 200px;
- }
- #region-2 {
- left: 140px;
- height: 200px;
- }
- .failure {
- position: absolute;
- background-color: red;
- top: 75px;
- width: 50px;
- z-index: -1;
- }
- #bar-1, #bar-2, #bar-3, #bar-4 {
- height: 200px;
- }
- #bar-1 {
- left: 20px;
- }
- #bar-2 {
- left: 80px;
- }
- #bar-3 {
- left: 140px;
- }
- #bar-4 {
- left: 200px;
- }
- #square {
- left: 260px;
- height: 50px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are four green vertical bars, plus one
- small green square to their right and no red.</p>
- <div id="named-flow-multicol"></div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="bar-1"></div>
- <div class="failure" id="bar-2"></div>
- <div class="failure" id="bar-3"></div>
- <div class="failure" id="bar-4"></div>
- <div class="failure" id="square"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-017.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-017.html
deleted file mode 100644
index 6f7b89998cf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-017.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: Multiple named flows, text content flowing into multiple
- regions in a multi-column container</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-017-ref.html"/>
- <meta name="assert" content="This test checks multiple named flows with text
- content flow into multiple regions in the multi-column
- container."/>
- <meta name="flags" content="ahem"/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #multicol-container {
- position: absolute;
- top: 50px;
- left: 20px;
- width: 200px;
- height: 200px;
- border: 2px solid black;
- columns: 4;
- column-gap: 0;
- }
- .named-flow {
- font-family: Ahem;
- font-size: 25px;
- line-height: 1em;
- }
- .region {
- height: 50px;
- }
- .black {
- color: black;
- }
- .gray {
- color: gray;
- }
- .region.black {
- flow-from: multicol-1;
- }
- .named-flow.black {
- flow-into: multicol-1;
- }
- .region.gray{
- flow-from: multicol-2;
- }
- .named-flow.gray {
- flow-into: multicol-2;
- }
- #failure {
- position: absolute;
- top: 50px;
- left: 20px;
- background-color: red;
- width: 204px;
- height: 204px;
- z-index: -1;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is a 4x4 black and gray checkerboard and no red.</p>
- <div class="named-flow black">
- XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
- </div>
- <div class="named-flow gray">
- XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
- </div>
- <div id="multicol-container">
- <div class="region black"></div>
- <div class="region gray"></div>
- <div class="region black"></div>
- <div class="region gray"></div>
- <div class="region gray"></div>
- <div class="region black"></div>
- <div class="region gray"></div>
- <div class="region black"></div>
- <div class="region black"></div>
- <div class="region gray"></div>
- <div class="region black"></div>
- <div class="region gray"></div>
- <div class="region gray"></div>
- <div class="region black"></div>
- <div class="region gray"></div>
- <div class="region black"></div>
- </div>
- <div id="failure"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-019.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-019.html
deleted file mode 100644
index 8b96fb73aa2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-019.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: Multiple named flows multi-column containers, text content flowing
- into multiple visually overlapping regions</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-019-ref.html"/>
- <meta name="flags" content="ahem"/>
- <meta name="assert" content="This test checks multiple named flow multi-column containers
- with text content flow into multiple overlapping regions."/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- .named-flow-multicol {
- width: 150px;
- font-family: Ahem;
- font-size: 25px;
- line-height: 1em;
- columns: 2;
- column-gap: 50px;
- }
- .green {
- color: green;
- flow-into: multicol-1;
- }
- .blue {
- color: blue;
- flow-into: multicol-2;
- }
- #region-1, #region-2 {
- position: absolute;
- top: 50px;
- }
- #region-1 {
- left: 20px;
- flow-from: multicol-1;
- }
- #region-2 {
- left: 70px;
- flow-from: multicol-2;
- }
- #failure {
- position: absolute;
- top: 50px;
- left: 20px;
- background-color: red;
- width: 200px;
- height: 200px;
- z-index: -1;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is a square with four vertical
- stripes alternating green and blue, and no red.</p>
- <div class="green named-flow-multicol">
- XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
- </div>
- <div class="blue named-flow-multicol">
- XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div id="failure"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-021.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-021.html
deleted file mode 100644
index 486b39dbe9e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-021.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: Multiple named flows multi-column containers with
- unspecified width, non-text content flowing into multiple
- overlapping regions</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <!-- Reviewed on Github on 09-26-2013: https://github.com/w3c/csswg-test/pull/89 -->
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-019-ref.html"/>
- <meta name="assert" content="This test checks multiple named flow multi-column
- containers with unspecified width and non-text content flow
- into multiple overlapping regions."/>
- <style type="text/css">
- .named-flow-multicol {
- columns: 2;
- column-gap: 50px;
- }
- .bar {
- width: 50px;
- height: 200px;
- }
- .green {
- background-color: green;
- }
- .blue {
- background-color: blue;
- }
- #named-flow-1 {
- flow-into: multicol-1;
- }
- #named-flow-2 {
- flow-into: multicol-2;
- }
- #region-1, #region-2 {
- position: absolute;
- top: 50px;
- }
- #region-1 {
- left: 20px;
- color: green;
- flow-from: multicol-1;
- }
- #region-2 {
- left: 70px;
- flow-from: multicol-2;
- }
- #failure {
- position: absolute;
- top: 50px;
- left: 20px;
- background-color: red;
- width: 200px;
- height: 200px;
- z-index: -1;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there is a square with four vertical
- stripes alternating green and blue, and no red.</p>
- <div class="named-flow-multicol" id="named-flow-1">
- <div class="green bar"></div>
- <div class="green bar"></div>
- </div>
- <div class="named-flow-multicol" id="named-flow-2">
- <div class="blue bar"></div>
- <div class="blue bar"></div>
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div id="failure"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-022.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-022.html
deleted file mode 100644
index d48d3d700fe..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-022.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container, text content
- flowing into one autosized region with overflowing column</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-003-ref.html"/>
- <meta name="assert" content="This test checks that text content flows
- through an autosized region from a multi-column named
- flow and that it overflows visibly into a third column."/>
- <meta name="flags" content="ahem"/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow-multicol {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 230px;
- height: 200px;
- color: green;
- columns: 2;
- column-gap: 30px;
- flow-into: multicol;
- }
- #region {
- position: absolute;
- top: 70px;
- left: 20px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- top: 70px;
- left: 20px;
- background-color: red;
- width: 100px;
- height: 200px;
- z-index: -1;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 150px;
- }
- #block-3 {
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are three vertical green rectangles and no red.</p>
- <div id="named-flow-multicol">
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- XXXXX XXXXX XXXXX XXXXX XXXXX
- </div>
- <div id="region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-023.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-023.html
deleted file mode 100644
index 1f3a6c9d448..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-023.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container, monolithic content
- flowing into an autosized region, overflowing column</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-003-ref.html"/>
- <meta name="assert" content="This test checks that text content flows
- through an autosized region from the multi-column
- named flow and that it overflows visibly into a
- third column."/>
- <style type="text/css">
- #named-flow-multicol {
- width: 230px;
- height: 200px;
- columns: 2;
- column-gap: 30px;
- flow-into: multicol;
- }
- #named-flow-block {
- background-color: green;
- width: 100px;
- height: 600px;
- }
- #region {
- position: absolute;
- top: 70px;
- left: 20px;
- flow-from: multicol;
- }
- .failure {
- position: absolute;
- top: 70px;
- left: 20px;
- background-color: red;
- width: 100px;
- height: 200px;
- z-index: -1;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 150px;
- }
- #block-3 {
- left: 280px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are three vertical green rectangles and no red.</p>
- <div id="named-flow-multicol">
- <div id="named-flow-block"></div>
- </div>
- <div id="region"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-024.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-024.html
deleted file mode 100644
index d0c14307e01..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-024.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container with text content flowing
- into region of smaller width/height than the second region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-024-ref.html"/>
- <meta name="assert" content="This test checks that text content flows through a region
- with a smaller width + height than the multi-column named flow
- and than the second region and that it overflows the first region visibly
- as a multi-column container before flowing into the second region."/>
- <meta name="flags" content="ahem"/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow-multicol {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 130px;
- height: 120px;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
- }
- .green {
- color: green;
- }
- .blue {
- color: blue;
- }
- #region-1, #region-2 {
- position: absolute;
- flow-from: multicol;
- }
- #region-1 {
- top: 70px;
- left: 20px;
- width: 60px;
- height: 60px;
- }
- #region-2 {
- top: 70px;
- left: 190px;
- width: 130px;
- height: 120px;
- }
- .failure {
- position: absolute;
- top: 70px;
- background-color: red;
- width: 60px;
- height: 60px;
- z-index: -10;
- }
- #block-1 {
- left: 20px;
- height: 60px;
- }
- #block-2 {
- left: 90px;
- height: 60px;
- }
- #block-3 {
- left: 190px;
- height: 120px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green side by side squares on the left of one blue vertical rectangle.
- There should be no red.</p>
- <div id="named-flow-multicol">
- <span class="green">XXX XXX XXX XXX XXX XXX</span>
- <span class="blue">XXX XXX XXX XXX XXX XXX</span>
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-025.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-025.html
deleted file mode 100644
index 806791b3186..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-025.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container with monolithic content
- flowing into region of smaller width/height than the second region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-024-ref.html"/>
- <meta name="assert" content="This test checks that text content flows
- through a region with a smaller width + height than the multi-column named flow
- and the second region and that it overflows the first region visibly as a
- multi-column container before flowing into the second region."/>
- <style type="text/css">
- #named-flow-multicol {
- width: 130px;
- height: 120px;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
- }
- .green, .blue {
- width: 60px;
- height: 120px;
- }
- .green {
- background-color: green;
- }
- .blue {
- background-color: blue;
- }
- #region-1, #region-2 {
- position: absolute;
- flow-from: multicol;
- }
- #region-1 {
- top: 70px;
- left: 20px;
- width: 60px;
- height: 60px;
- }
- #region-2 {
- top: 70px;
- left: 190px;
- width: 130px;
- height: 120px;
- }
- .failure {
- position: absolute;
- top: 70px;
- width: 60px;
- background-color: red;
- z-index: -10;
- }
- #block-1 {
- left: 20px;
- height: 60px;
- }
- #block-2 {
- left: 90px;
- height: 60px;
- }
- #block-3 {
- left: 190px;
- height: 120px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green side by side squares on the left of one blue vertical rectangle.
- There should be no red.</p>
- <div id="named-flow-multicol">
- <div class="green named-flow-block"></div>
- <div class="blue named-flow-block"></div>
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-026.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-026.html
deleted file mode 100644
index c08188f7c10..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-026.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container with text content
- flowing into region of smaller height than the second region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-024-ref.html"/>
- <meta name="assert" content="This test checks that text content flows
- through a region with a height smaller than the second region and
- that it overflows the first region as a multi-column container
- before flowing into the second region."/>
- <meta name="flags" content="ahem"/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow-multicol {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 130px;
- height: 120px;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
- }
- .green {
- color: green;
- }
- .blue {
- color: blue;
- }
- #region-1, #region-2 {
- position: absolute;
- width: 130px;
- flow-from: multicol;
- }
- #region-1 {
- top: 70px;
- left: 20px;
- height: 60px;
- }
- #region-2 {
- top: 70px;
- left: 190px;
- height: 120px;
- }
- .failure {
- position: absolute;
- top: 70px;
- background-color: red;
- width: 60px;
- height: 60px;
- z-index: -10;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 90px;
- }
- #block-3 {
- left: 190px;
- height: 120px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green side by side squares on the left of one blue vertical rectangle.
- There should be no red.</p>
- <div id="named-flow-multicol">
- <span class="green">XXX XXX XXX XXX XXX XXX</span>
- <span class="blue">XXX XXX XXX XXX XXX XXX</span>
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-027.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-027.html
deleted file mode 100644
index eea5189c9cf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-027.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container with monolithic content +
- flowing into region of smaller height than the second region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-024-ref.html"/>
- <meta name="assert" content="This test checks that monolithic content flows
- through a region with a height smaller than the second region and
- that it overflows the first region as a multi-column container
- before flowing into the second region."/>
- <style type="text/css">
- #named-flow-multicol {
- width: 130px;
- height: 120px;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
- }
- .green, .blue {
- width: 60px;
- height: 120px;
- }
- .green {
- background-color: green;
- }
- .blue {
- background-color: blue;
- }
- #region-1, #region-2 {
- position: absolute;
- width: 130px;
- flow-from: multicol;
- }
- #region-1 {
- top: 70px;
- left: 20px;
- height: 60px;
- }
- #region-2 {
- top: 70px;
- left: 190px;
- height: 120px;
- }
- .failure {
- position: absolute;
- top: 70px;
- width: 60px;
- background-color: red;
- z-index: -10;
- }
- #block-1 {
- left: 20px;
- height: 60px;
- }
- #block-2 {
- left: 90px;
- height: 60px;
- }
- #block-3 {
- left: 190px;
- height: 120px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green side by side squares on the left of one blue vertical rectangle.
- There should be no red.</p>
- <div id="named-flow-multicol">
- <div class="green named-flow-block"></div>
- <div class="blue named-flow-block"></div>
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-028.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-028.html
deleted file mode 100644
index 0e10c81c1c8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-028.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container with text content
- flowing into first region of smaller width than the second region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-028-ref.html"/>
- <meta name="assert" content="This test checks that text content flows
- through a region with a smaller width than the multi-column named flow and the
- second region and that it overflows the first region visibly as a multi-column
- container before flowing into the second region."/>
- <meta name="flags" content="ahem"/>
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- #named-flow-multicol {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- width: 130px;
- height: 120px;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
- }
- .green {
- color: green;
- }
- .blue {
- color: blue;
- }
- #region-1, #region-2 {
- position: absolute;
- height: 120px;
- flow-from: multicol;
- }
- #region-1 {
- top: 70px;
- left: 20px;
- width: 60px;
- }
- #region-2 {
- top: 70px;
- left: 190px;
- width: 130px;
- }
- .failure {
- position: absolute;
- top: 70px;
- background-color: red;
- width: 60px;
- height: 120px;
- z-index: -10;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 90px;
- }
- #block-3 {
- left: 190px;
- }
- #block-4 {
- left: 260px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green vertical rectangles on the left of two blue vertical rectangles.
- There should be no red.</p>
- <div id="named-flow-multicol">
- <span class="green">XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX</span>
- <span class="blue">XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX</span>
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
- <div class="failure" id="block-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-029.html b/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-029.html
deleted file mode 100644
index c26ddc20017..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/multicolumn/regions-multicol-029.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Test: One named flow multi-column container with monolithic content
- flowing into first region of smaller width than the second region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#multi-column-regions"/>
- <link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
- <link rel="match" href="reference/regions-multicol-028-ref.html"/>
- <meta name="assert" content="This test checks that monolithic content flows
- through a region with a smaller width than the multi-column named flow and the
- second region and that it overflows the first region visibly as a
- multi-column container before flowing into the second region."/>
- <style type="text/css">
- #named-flow-multicol {
- width: 130px;
- height: 120px;
- columns: 2;
- column-gap: 10px;
- flow-into: multicol;
- }
- .green, .blue {
- width: 60px;
- height: 240px;
- }
- .green {
- background-color: green;
- }
- .blue {
- background-color: blue;
- }
- #region-1, #region-2 {
- position: absolute;
- height: 120px;
- flow-from: multicol;
- }
- #region-1 {
- top: 70px;
- left: 20px;
- width: 60px;
- }
- #region-2 {
- top: 70px;
- left: 160px;
- width: 130px;
- }
- .failure {
- position: absolute;
- top: 70px;
- width: 60px;
- height: 120px;
- background-color: red;
- z-index: -10;
- }
- #block-1 {
- left: 20px;
- }
- #block-2 {
- left: 90px;
- }
- #block-3 {
- left: 190px;
- }
- #block-4 {
- left: 260px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if there are two green vertical rectangles on the left of two blue vertical rectangles.
- There should be no red.</p>
- <div id="named-flow-multicol">
- <div class="green named-flow-block"></div>
- <div class="blue named-flow-block"></div>
- </div>
- <div id="region-1"></div>
- <div id="region-2"></div>
- <div class="failure" id="block-1"></div>
- <div class="failure" id="block-2"></div>
- <div class="failure" id="block-3"></div>
- <div class="failure" id="block-4"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/positioned-content/position-relative-001.html b/tests/wpt/web-platform-tests/css/css-regions/positioned-content/position-relative-001.html
deleted file mode 100644
index 3daff7885b9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/positioned-content/position-relative-001.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: flowing content that has position: relative</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <!-- Section points to section in the ED. Eventually this should be kept in the WD, too. -->
- <link rel="help" href="http://www.w3.org/TR/css3-break/#transforms">
- <meta name="assert" content="Test checks that fragments of content flowed in regions are positioned independently, after the fragmentation occurs.">
- <meta name="flags" content="ahem">
- <link rel="match" href="reference/position-relative-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flow {
- flow-into: f;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- position: relative;
- top: 20px;
- left: -20px;
- }
-
- .container {
- display: inline-block;
- }
-
- .region {
- flow-from: f;
- margin: 0 0 0 20px;
- }
- .region p {
- background-color: red;
- height: 50%;
- }
- .big {
- width: 100px;
- height: 100px;
- }
- .small {
- width: 60px;
- height: 60px;
- }
-
- .marker {
- background: red;
- width: 20px;
- height: 20px;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two green squares (one bigger and one smaller) and no red.</p>
- <div class="flow">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxx
- xxx
- xxx
- </div>
- <div class="container">
- <div class="big region">
- <p>&nbsp;</p>
- </div>
- <div class="marker"></div>
- </div>
- <div class="container">
- <div class="small region">
- <p>&nbsp;</p>
- </div>
- <div class="marker"></div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/positioned-content/reference/position-relative-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/positioned-content/reference/position-relative-001-ref.html
deleted file mode 100644
index 024160c237a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/positioned-content/reference/position-relative-001-ref.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .flow {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- position: relative;
- top: 20px;
- left: -20px;
- }
-
- .container {
- display: inline-block;
- }
-
- .region {
- margin: 0 0 0 20px;
- }
- .big {
- width: 100px;
- height: 100px;
- }
- .small {
- width: 60px;
- height: 60px;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see two green squares (one bigger and one smaller) and no red.</p>
- <div class="container">
- <div class="big region">
- <div class="flow">
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- xxxxx
- </div>
- </div>
- </div>
- <div class="container">
- <div class="small region">
- <div class="flow">
- xxx
- xxx
- xxx
- </div>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/reference/region-fragment-break-1-ref.html b/tests/wpt/web-platform-tests/css/css-regions/reference/region-fragment-break-1-ref.html
deleted file mode 100644
index 089a6e1ec1d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/reference/region-fragment-break-1-ref.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions region-fragment-break-1 reference</title>
- <link rel="author" title="Andy Hall" href="mailto:andhall@adobe.com">
- <link rel="reviewer" title="Alan Stearns" href="mailto:stearns@adobe.com">
-
- <style>
- .box {
- width: 100px;
- height: 200px;
- background-color: green;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green rectangle and no red.
- </p>
- <div class="box"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/region-fragment-001-ref.xht
deleted file mode 100644
index f628ebd7af7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-001-ref.xht
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region overflow</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- body{
- line-height: 20px;
- }
- .region{
- width: 10em;
- height: 30px;
- background-color: silver;
- }
- .auto{
- float: left;
- margin-right: 5px;
- }
- .rightSide{
- float: left;
- }
- </style>
- </head>
- <body>
- <p>This test passes if "auto 2" runs through the bottom edge of the silver rectangle and only "break 1" is visible in the right rectangle.</p>
- <div class="auto region">
- <div>auto 1</div>
- <div>auto 2</div>
- </div>
- <div class="rightSide">
- <div class="break region">
- <div>break 1</div>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-001.xht b/tests/wpt/web-platform-tests/css/css-regions/region-fragment-001.xht
deleted file mode 100644
index f8f7d17c1f2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-001.xht
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region overflow</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="region-fragment-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="With the default overflow:visible setting, region-overflow:auto will continue composing lines through the bottom edge of the last region, and region-overflow:break will compose overflow lines after the bottom edge of the last region."/>
- <style type="text/css">
- body{
- line-height: 20px;
- }
- .autoContent{
- flow-into: autoFlow;
- }
- .breakContent{
- line-height: 20px;
- flow-into: breakFlow;
- }
- .region{
- width: 10em;
- height: 30px;
- background-color: silver;
- float: left;
- }
- .auto{
- margin-right: 5px;
- region-fragment: auto;
- flow-from: autoFlow;
- }
- .break{
- region-fragment: break;
- flow-from: breakFlow;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <p>This test passes if "auto 2" runs through the bottom edge of the silver rectangle and only "break 1" is visible in the right rectangle.</p>
- <div class="autoContent">
- <div>auto 1</div>
- <div>auto 2</div>
- </div>
- <div class="breakContent">
- <div>break 1</div>
- <div>break 2</div>
- </div>
- <div class="auto region">
- <div class="error">FAIL</div>
- </div>
- <div class="break region">
- <div class="error">FAIL</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-002-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/region-fragment-002-ref.xht
deleted file mode 100644
index a8113fae213..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-002-ref.xht
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region overflow: last region</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- body{
- line-height: 20px;
- }
- .first{
- margin-bottom: 10px;
- }
- .second{
- clear: both;
- }
- .region{
- width: 10em;
- height: 30px;
- background-color: silver;
- }
- .auto{
- float: left;
- margin-right: 5px;
- }
- .rightSide{
- float: left;
- display: block;
- }
- </style>
- </head>
- <body>
- <p>This test passes if the top rectangles are identical and in the lower rectangles "auto 2" runs through the bottom edge of the rectangle and only "break 1" is visible in the bottom right rectangle.</p>
- <div class="auto region first">
- <div>first</div>
- </div>
- <div class="rightSide">
- <div class="region first">
- <div>first</div>
- </div>
- </div>
- <div class="auto region second">
- <div>auto 1</div>
- <div>auto 2</div>
- </div>
- <div class="rightSide">
- <div class="region">
- <div>break 1</div>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-002.xht b/tests/wpt/web-platform-tests/css/css-regions/region-fragment-002.xht
deleted file mode 100644
index b2b3d86d534..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-002.xht
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region overflow: last region</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="region-fragment-002-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="The region-overflow setting only affects the last region in the chain."/>
- <style type="text/css">
- body{
- line-height: 20px;
- }
- .autoContent{
- flow-into: autoFlow;
- }
- .breakContent{
- line-height: 20px;
- flow-into: breakFlow;
- }
- .first{
- margin-bottom: 10px;
- }
- .second {
- clear: left;
- }
- .region{
- width: 10em;
- height: 30px;
- background-color: silver;
- float: left;
- }
- .auto{
- margin-right: 5px;
- region-fragment: auto;
- flow-from: autoFlow;
- }
- .break{
- region-fragment: break;
- flow-from: breakFlow;
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <p>This test passes if the top rectangles are identical and in the lower rectangles "auto 2" runs through the bottom edge of the rectangle and only "break 1" is visible in the bottom right rectangle.</p>
- <div class="auto region first">
- <div class="error">FAIL</div>
- </div>
- <div class="break region first">
- <div class="error">FAIL</div>
- </div>
- <div class="autoContent">
- <div>first</div>
- <div>auto 1</div>
- <div>auto 2</div>
- </div>
- <div class="breakContent">
- <div>first</div>
- <div>break 1</div>
- <div>break 2</div>
- </div>
- <div class="auto region second" style="clear: left;">
- <div class="error">FAIL</div>
- </div>
- <div class="break region">
- <div class="error">FAIL</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-break-1.html b/tests/wpt/web-platform-tests/css/css-regions/region-fragment-break-1.html
deleted file mode 100644
index 919f60a5a30..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-fragment-break-1.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions region-fragment-break-1</title>
- <link rel="author" title="Andy Hall" href="mailto:andhall@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-region-fragment-property">
- <meta name="assert" content="If the content fits within the CSS Region, then setting region-fragment: break; has no effect. ">
- <link rel="match" href="reference/region-fragment-break-1-ref.html">
- <style>
- #region {
- width: 100px;
- height: 200px;
- background-color: red;
- flow-from: f;
- region-fragment: break;
- }
- .box {
- width: 100px;
- height: 100px;
- flow-into: f;
- background-color: green;
- }
- </style>
- </head>
- <body>
- <p>
- Test passes if you see a green rectangle and no red.
- </p>
- <div class="box"></div>
- <div class="box"></div>
- <div id="region"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001-ref.xht
deleted file mode 100644
index 718fef5f220..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001-ref.xht
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Regions create new stacking context</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- .greensquare{
- background: green;
- height: 100px;
- width: 50px;
- }
- </style>
- </head>
- <body>
- <p>Test passes if there is no red.</p>
- <div class="greensquare"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001.xht b/tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001.xht
deleted file mode 100644
index 5d9c1d0cb43..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-stacking-context-001.xht
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Regions create new stacking context</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="region-stacking-context-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="The z-index set on region content does not affect how they are stacked with siblings of the region."/>
- <style type="text/css">
- .square{
- height: 50px;
- width: 50px;
- position: relative;
- }
- .stackingFlow{
- flow-into: stacking;
- }
- .stackingRegion{
- flow-from: stacking;
- width: 50px;
- height: 100px;
- position: relative;
- margin-top: -50px;
- }
- .error{
- background: red;
- }
- .flowGreen{
- background: green;
- z-index: -10;
- }
- .flowError{
- background: red;
- z-index: 10;
- }
- .green{
- background: green;
- margin-top: -50px;
- }
- </style>
- </head>
- <body>
- <div class="stackingFlow">
- <div class="flowGreen square"></div>
- <div class="flowError square"></div>
- </div>
- <p>Test passes if there is no red.</p>
- <div>
- <div class="error square"></div>
- <div class="stackingRegion"></div>
- <div class="green square"></div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-styling-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/region-styling-001-ref.xht
deleted file mode 100644
index 592f600d828..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-styling-001-ref.xht
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region Styling</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <style type="text/css">
- .region{
- color: green;
- }
- </style>
- </head>
- <body>
- <p>This test passes if the word below is &ldquo;GREEN&rdquo; and is displayed in green.</p>
- <div class="region">GREEN</div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/region-styling-001.xht b/tests/wpt/web-platform-tests/css/css-regions/region-styling-001.xht
deleted file mode 100644
index 7fa401a3303..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/region-styling-001.xht
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Region Styling</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from"/>
- <link rel="match" href="region-styling-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="Styling set in an @region rule overrides named flow element styling."/>
- <style type="text/css">
- .content{
- color: red;
- flow-into: redContent;
- }
- .region{
- flow-from: redContent;
- }
- @region .region{
- div { color: green; }
- }
- .error{
- color: red;
- }
- </style>
- </head>
- <body>
- <div class="content">GREEN</div>
- <p>This test passes if the word below is &ldquo;GREEN&rdquo; and is displayed in green.</p>
- <div class="region">
- <div class="error">FAIL</div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-001.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-001.html
deleted file mode 100644
index c1e5f19bc36..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-001.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content with opacity &lt; 1 in region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that content with opacity < 1 is correctly flowed into regions. This might fail on implementations that use layers for compositing but don't properly handle content flowing.">
- <link rel="match" href="reference/content-node-layers-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: #5555FF;
- /*a light-ish blue, to give us a nice purple when alpha-blended with red*/
- opacity: 0.5;
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: f;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a purple square below.</li>
- </ol>
- <div id="content">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- <div id="region"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-002.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-002.html
deleted file mode 100644
index cabacb20ba4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-002.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content with scrollbars in region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that content with scrollbars is correctly flowed into regions. This might fail on implementations that use layers for compositing but don't properly handle content flowing.">
- <link rel="match" href="reference/content-node-layers-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- width: 100px;
- height: 100px;
- overflow-y: scroll;
- overflow-x: none;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: f;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a green square below with a vertical scrollbar.</li>
- <li>You should be able to drag the scrollbars</li>
- </ol>
- <div id="content">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- <div id="region"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-003.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-003.html
deleted file mode 100644
index a6e3e6afb57..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-003.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content that's relatively positioned and get fragmented</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that content that's relatively positioned gets properly fragmented between regions.">
- <link rel="match" href="reference/content-node-layers-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- flow-into: f;
- }
- .region {
- margin: .5em;
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: f;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see two green squares below.</li>
- </ol>
- <div id="content">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- <div class="region"></div>
- <div class="region"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-004.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-004.html
deleted file mode 100644
index 26eb37b9596..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-004.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content with opacity &lt; 1 and opacity = 1 in region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that content nodes with mixed opacity < 1 and opacity = 1
- is correctly flowed into regions. This might fail on implementations that use layers for
- compositing but don't properly handle content flowing.">
- <link rel="match" href="reference/content-node-layers-004-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- flow-into: f;
- }
- .translucent {
- color: #5555FF;
- opacity: 0.5;
- }
- .opaque {
- color: blue;
- /*a light-ish blue, to give us a nice purple when alpha-blended with red*/
- opacity: 1;
- }
- #region {
- width: 100px;
- height: 180px;
- background-color: red;
- flow-from: f;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see four alternating purple and blue rectangles below.</li>
- </ol>
- <div id="content">
- <div class="translucent">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div class="opaque">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div class="translucent">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div class="opaque">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- </div>
- <div id="region"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-005.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-005.html
deleted file mode 100644
index a79197a4749..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/content-node-layers-005.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content with position: absolute and clip</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that absolutely positioned content that has the clip property applied is correctly flowed into regions. This might fail on implementations that use layers for compositing but don't properly handle content flowing or the clipping shapes.">
- <link rel="match" href="reference/content-node-layers-005-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- position: relative;
- width: 125px;
- height: 125px;
- background-color: lightgreen;
- flow-into: f;
- }
- #content-child {
- position: absolute;
- color: green;
- top: 20px;
- left: 0;
- width: 180px;
- clip: rect(0px, 100px, 80px, 20px);
- }
- .outside {
- color: red;
- }
- #region {
- width: 125px;
- height: 125px;
- background-color: red;
- flow-from: f;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a dark green square in the middle of a light green square.</li>
- </ol>
- <div id="content">
- <div id="content-child">
- <span class="outside">x</span>xxxx<span class="outside">xxxx</span><br>
- <span class="outside">x</span>xxxx<span class="outside">xxxx</span><br>
- <span class="outside">x</span>xxxx<span class="outside">xxxx</span><br>
- <span class="outside">x</span>xxxx<span class="outside">xxxx</span>
- </div>
- </div>
- <div id="region"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-001.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-001.html
deleted file mode 100644
index 5caff8062a9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-001.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: document.elementFromPoint() for overlapping, positioned regions with non-auto z-index</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that document.elementFromPoint() returns the correct
- region when multiple regions are absolutely positioned, overlap and have non-auto z-index.">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- html, body {
- margin: 0;
- }
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- flow-into: f;
- }
-
- .region {
- position: absolute;
- top: 50px;
- left: 50px;
- width: 100px;
- height: 100px;
- border-left: 20px solid lightblue;
- background-color: green;
- flow-from: f;
- }
- .region p {
- height: 50%;
- background-color: red;
- }
-
- .front {
- z-index: 42;
- border-left-color: orange;
- }
- .middle {
- z-index: 32;
- border-left-color: lightblue;
- }
- .back {
- z-index: 16;
- border-left-color: yellow;
- }
-
- .left {
- top: 50px;
- left: 50px;
- }
- .center {
- top: 90px;
- left: 100px;
- }
- .right {
- top: 130px;
- left: 150px;
- }
-
- #log {
- margin-top: 250px;
- }
- </style>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <div id="content">
- <div id="block1">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div id="block2">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div id="block3">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </div>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div id="log"></div>
- <script>
- function applyClasses(selector, classes) {
- var elements = document.querySelectorAll(selector),
- length = elements.length;
- for (var i = 0; i < length; i++) {
- elements[i].className = "region " + classes[i];
- }
- document.body.offsetTop;
- }
-
- function runTests() {
- var regionsEnabled = document.querySelector(".region p").getBoundingClientRect().width == 0;
-
- test(function() {
- applyClasses(".region", [ "middle", "front", "back" ]);
-
- assert_true(regionsEnabled, "Regions is enabled");
- assert_equals(document.elementFromPoint(60, 100), document.querySelector(".front"));
- }, "document.elementFromPoint() for point on region border, with all regions overlapping with non-auto z-index");
-
- test(function() {
- applyClasses(".region", [ "right middle", "left front", " center back" ]);
-
- assert_true(regionsEnabled, "Regions is enabled");
- assert_equals(document.elementFromPoint(60, 100), document.querySelector(".front"));
- }, "document.elementFromPoint() for point on region border, with regions partially overlapping with non-auto z-index");
-
- test(function() {
- applyClasses(".region", [ "right middle", "center front", " left back" ]);
-
- assert_true(regionsEnabled, "Regions is enabled");
- //we're checking the "right middle" region, inside it
- assert_equals(document.elementFromPoint(180, 210), document.querySelector("#block1"));
- }, "document.elementFromPoint() for point inside region (effectively, content node), with regions partially overlapping with non-auto z-index");
- }
-
- setup({ explicit_done: true });
- document.fonts.ready.then(() => {
- runTests();
- done();
- });
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-002.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-002.html
deleted file mode 100644
index 2b4a076f250..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/javascript-stacking-context-002.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: JavaScript event handlers on overlapping, positioned regions with non-auto z-index</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that JavaScript event handlers set on regions trigger
- when multiple regions are absolutely positioned, overlap and have non-auto z-index.">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- flow-into: f;
- }
-
- .region {
- position: absolute;
- top: 50px;
- left: 50px;
- width: 60px;
- height: 60px;
- border-left: 20px solid lime;
- background-color: green;
- overflow: hidden;
- flow-from: f;
- }
- .region p {
- height: 50%;
- background-color: red;
- }
-
- #front {
- height: 40px;
- left: 90px;
- top: 90px;
- z-index: 42;
- border-left-color: orange;
- }
- #front:hover {
- border-color: black;
- }
- #middle {
- left: 30px;
- top: 70px;
- z-index: 32;
- border-left-color: lightblue;
- }
- #back {
- left: 70px;
- z-index: 16;
- border-left-color: yellow;
- }
-
- #region-container {
- position: relative;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red or the word "FAIL".</li>
- <li>Move the mouse over the orange rectangle.</li>
- <li>The orange rectangle should turn black.</li>
- <li>Click on the black rectangle.</li>
- <li>You should see the word "PASS", in green, below.</li>
- </ol>
- <div id="content">
- <div id="block1">
- xxx<br>xxx<br>xxx
- </div>
- <div id="block2">
- xxx<br>xxx<br>xxx
- </div>
- <div id="block3">
- xxx<br>xxx<br>xxx
- </div>
- </div>
-
- <div id="region-container">
- <div class="region" id="back">
- <p>&nbsp;</p>
- </div>
- <div class="region" id="front">
- <p>&nbsp;</p>
- </div>
- <div class="region" id="middle">
- <p>&nbsp;</p>
- </div>
- </div>
- <div id="result"></div>
-
- <script>
- var result = document.querySelector("#result");
-
- function successHandler() {
- console.log("this")
- result.innerHTML = "PASS";
- result.style.color = "green";
- }
- function failHandler() {
- console.log("that")
- result.innerHTML = "FAIL";
- result.style.color = "red";
- }
-
- if (document.querySelector(".region p").getBoundingClientRect().width == 0) {
- document.addEventListener("DOMContentLoaded", function() {
- document.querySelector("#front").addEventListener("click", successHandler);
-
- document.querySelector("#middle").addEventListener("click", failHandler);
- document.querySelector("#back").addEventListener("click", failHandler);
- });
- } else {
- failHandler();
- }
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-001-ref.html
deleted file mode 100644
index 488665c8e71..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-001-ref.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: #5555FF;
- opacity: 0.5;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a purple square below.</li>
- </ol>
- <div id="region">
- <div id="content">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-002-ref.html
deleted file mode 100644
index 934f8d2976f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-002-ref.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- width: 100px;
- height: 100px;
- overflow-y: scroll;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a green square below with a vertical scrollbar.</li>
- <li>You should be able to drag the scrollbars</li>
- </ol>
- <div id="region">
- <div id="content">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-003-ref.html
deleted file mode 100644
index 5b18aefe1e0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-003-ref.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- }
- .region {
- margin: .5em;
- width: 100px;
- height: 100px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see two green squares below.</li>
- </ol>
- <div class="region">
- <div class="content">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </div>
- </div>
- <div class="region">
- <div class="content">
- xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-004-ref.html
deleted file mode 100644
index 7621b56607e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-004-ref.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .translucent {
- color: #5555FF;
- opacity: 0.5;
- }
- .opaque {
- color: blue;
- /*a light-ish blue, to give us a nice purple when alpha-blended with red*/
- opacity: 1;
- }
- #region {
- width: 100px;
- height: 180px;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see four alternating purple and blue rectangles below.</li>
- </ol>
- <div id="region">
- <div id="content">
- <div class="translucent">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div class="opaque">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div class="translucent">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- <div class="opaque">
- xxxxx<br>xxxxx<br>xxxxx
- </div>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-005-ref.html
deleted file mode 100644
index 2b81b709fa0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/content-node-layers-005-ref.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- position: relative;
- width: 125px;
- height: 125px;
- background-color: lightgreen;
- }
- #content-child {
- position: absolute;
- color: green;
- top: 20px;
- left: 20px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a dark green square in the middle of a light green square.</li>
- </ol>
- <div id="content">
- <div id="content-child">
- xxxx
- xxxx
- xxxx
- xxxx
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-001-ref.html
deleted file mode 100644
index 0a1060bf9ce..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-001-ref.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- #content {
- background-color: green;
- width: 100px;
- height: 100px;
- }
- #region {
- width: 150px;
- height: 150px;
- background-color: gray;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square in the gray box.</li>
- <li>You should see no red.</li>
- </ol>
- <dialog id="region">
- <div id="content"></div>
- </dialog>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.show();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-002-ref.html
deleted file mode 100644
index 4ec63450d57..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-dialog-002-ref.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- #content {
- position: static;
- display: block;
- width: 30px;
- height: 30px;
- margin: 0px;
- background-color: green;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: gray;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square inside a gray square.</li>
- <li>You shouldn't see any red.</li>
- </ol>
- <div id="region">
- <dialog id="content"></dialog>
- </div>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.show();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-001-ref.html
deleted file mode 100644
index 2a31645a856..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-001-ref.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #region {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- z-index: 42;
- width: 100px;
- height: 100px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a green square.</li>
- </ol>
- <div id="region">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-002-ref.html
deleted file mode 100644
index 463e7abad56..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-002-ref.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- opacity: 0.9;
- color: red;
- }
- #region-parent {
- background-color: blue;
- float: left;
- }
- #region {
- opacity: 0.5;
- width: 100px;
- height: 100px;
- }
- #region p {
- height: 50%;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red or blue.</li>
- <li>Test passes if you see a purple square.</li>
- </ol>
- <div id="region-parent">
- <div id="region">
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-003-ref.html
deleted file mode 100644
index 1f08f67f0d8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-layers-003-ref.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- #region {
- position: absolute;
- overflow: visible;
- top: 100px;
- left: 50px;
- width: 100px;
- height: 50px;
- border: 10px solid lime;
- border-bottom-width: 0;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a dark green square with a light green border around its top half.</li>
- </ol>
- <div id="region">
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-001-ref.html
deleted file mode 100644
index 82e3ff55b85..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-001-ref.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- #content {
- width: 100px;
- height: 100px;
- background-color: green;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: gray;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square in the gray box.</li>
- <li>You should see no red.</li>
- </ol>
- <dialog id="region">
- <div id="content"></div>
- </dialog>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.showModal();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-002-ref.html
deleted file mode 100644
index daef4795223..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-modal-dialog-002-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing modal dialog elements in region</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <style>
- #content {
- width: 30px;
- height: 30px;
- background-color: green;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square.</li>
- </ol>
- <div id="region">
- <dialog id="content"></dialog>
- </div>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.showModal();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-001-ref.html
deleted file mode 100644
index 2b94886c387..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-001-ref.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .region {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- .left,
- .center,
- .right {
- position: absolute;
- width: 100px;
- height: 100px;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightblue;
- }
- .center {
- top: 25px;
- left: 25px;
- background-color: lightgreen;
- }
- .right {
- top: 50px;
- left: 50px;
- background-color: yellow;
- }
-
- .back {
- z-index: 1;
- }
- .middle {
- z-index: 10;
- }
- .front {
- z-index: 100;
- }
-
- ol {
- margin-left: 150px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see three colored overlapping squares, from back to front: a blue square, a green square and a yellow square.</li>
- </ol>
- <div class="right front"></div>
- <div class="left back"></div>
- <div class="center middle region">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-002-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-002-ref.html
deleted file mode 100644
index d1b08ddce66..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-002-ref.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .region {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
-
- #container {
- opacity: 0.7;
- }
- #container > div {
- position: absolute;
- width: 100px;
- height: 100px;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightblue;
- }
- .center {
- top: 25px;
- left: 25px;
- background-color: lightgreen;
- }
- .right {
- top: 50px;
- left: 50px;
- background-color: yellow;
- }
- ol {
- margin-left: 150px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see three colored overlapping squares, from back to front: a blue square, a green square and a yellow square.</li>
- </ol>
- <div id="container">
- <div class="left"></div>
- <div class="center region">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="right"></div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-003-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-003-ref.html
deleted file mode 100644
index f06d531eb8c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-003-ref.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .region {
- width: 100px;
- height: 100px;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- }
- .region p{
- height: 50%;
- background-color: red;
- }
-
- #container {
- position: relative;
- opacity: .7;
- }
- #container > div {
- position: absolute;
- width: 100px;
- height: 100px;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightgreen;
- }
- .center {
- top: 25px;
- left: 25px;
- background-color: lightblue;
- }
- .right {
- top: 50px;
- left: 50px;
- background-color: yellow;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see three colored overlapping squares, from back to front: a green square, a blue square and a yellow square.</li>
- </ol>
- <div id="container">
- <div class="left region">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="center"></div>
- <div class="right"></div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-004-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-004-ref.html
deleted file mode 100644
index 004b6a81b72..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-004-ref.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .left,
- .center,
- .right {
- position: relative;
- width: 100px;
- height: 100px;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightgreen;
- }
- .center {
- top: -75px;
- left: 25px;
- background-color: lightblue;
- }
- .right {
- top: -150px;
- left: 50px;
- background-color: yellow;
- }
-
- #region {
- width: 150px;
- height: 150px;
- /* the properties below are needed to force the region in creating a stacking context */
- position: relative;
- z-index: -1;
- }
-
- #dummy {
- background-color: purple;
- width: 100px;
- height: 100px;
- margin-top: -75px;
- margin-left: 75px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see four colored overlapping squares, from back to front: a purple square, a green square, a blue square and a yellow square.</li>
- </ol>
-
- <div id="region">
- <div class="left"></div>
- <div class="center"></div>
- <div class="right"></div>
- </div>
- <div id="dummy"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-005-ref.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-005-ref.html
deleted file mode 100644
index 0ea90faca54..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/reference/regions-stacking-context-005-ref.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #front {
- z-index: 10;
- color: blue;
- }
- #back {
- z-index: 1;
- color: green;
- }
-
- .region {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- opacity: .999;
- width: 100px;
- height: 100px;
- }
- #front-region {
- margin-top: -50px;
- margin-left: 50px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see two colored overlapping squares: a green square on top of a blue square.</li>
- </ol>
- <div class="region">
- <span id="front">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</span>
- </div>
- <div id="front-region" class="region">
- <span id="back">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</span>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-001.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-001.html
deleted file mode 100644
index 3522593b069..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-001.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: flowing content in dialog</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that content is correctly flowed into dialog elements.">
- <link rel="match" href="reference/regions-dialog-001-ref.html">
- <style>
- #content {
- background-color: green;
- width: 100px;
- height: 100px;
- flow-into: f;
- }
- #region {
- width: 150px;
- height: 150px;
- background-color: gray;
- flow-from: f;
- }
- .red {
- width: 100px;
- height: 100px;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square in the gray box.</li>
- <li>You should see no red.</li>
- </ol>
- <div id="content"></div>
- <dialog id="region">
- <div class="red"></div>
- </dialog>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.show();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-002.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-002.html
deleted file mode 100644
index b0744e270ca..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-dialog-002.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: flowing dialog elements in region</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that dialog elements are correctly flowed into a region.">
- <link rel="match" href="reference/regions-dialog-002-ref.html">
- <style>
- #content {
- position: static;
- display: block;
- width: 30px;
- height: 30px;
- margin: 0px;
- background-color: green;
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: gray;
- flow-from: f;
- }
- .red {
- width: 100px;
- height: 100px;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square inside a gray square.</li>
- <li>You shouldn't see any red.</li>
- </ol>
- <dialog id="content"></dialog>
- <div id="region">
- <div class="red"></div>
- </div>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.show();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-001.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-001.html
deleted file mode 100644
index ded5bfe0ca9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-001.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content in regions that have a non-auto z-index</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that making the region create a stacking context by
- setting a non-auto z-index does not affect rendering of the content flowed in the region.">
- <link rel="match" href="reference/regions-layers-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: lime;
- flow-into: f;
- }
- #region {
- z-index: 42;
- width: 100px;
- height: 100px;
- flow-from: f;
- }
- #region p {
- height: 50%;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a green square.</li>
- </ol>
- <div id="content">
- <div id="content-child">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- <div id="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-002.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-002.html
deleted file mode 100644
index f494e8fda78..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-002.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content in regions that have opacity &lt; 1 with the content also having opacity &lt; 1</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that region's opacity is properly composited with
- content opacity.">
- <link rel="match" href="reference/regions-layers-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- opacity: 0.9;
- color: red;
- flow-into: f;
- }
- #region-parent {
- background-color: blue;
- float: left;
- }
- #region {
- opacity: 0.5;
- width: 100px;
- height: 100px;
- flow-from: f;
- }
- #region p {
- height: 50%;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red or blue.</li>
- <li>Test passes if you see a purple square.</li>
- </ol>
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div id="region-parent">
- <div id="region">
- <p>&nbsp;</p>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-003.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-003.html
deleted file mode 100644
index 9908c40bdba..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-layers-003.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flowing content in regions that are absolutely positioned and have visual overflow</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that region's visual overflow is displayed when region
- is absolutely positioned and has visual overflow.">
- <link rel="match" href="reference/regions-layers-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: f;
- }
- #behind-region {
- background-color: red;
- width: 100px;
- height: 100px;
- position: absolute;
- top: 100px;
- left: 60px;
- }
- #region {
- position: absolute;
- top: 100px;
- left: 50px;
- width: 100px;
- height: 50px;
- border: 10px solid lime;
- border-bottom-width: 0;
- flow-from: f;
- }
- #region p {
- height: 50%;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>Test passes if you see a dark green square with a light green border around its top half.</li>
- </ol>
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div id="behind-region"></div>
- <div id="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-001.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-001.html
deleted file mode 100644
index f20c9b5e5cc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-001.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: flowing content in a modal dialog</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that content is correctly flowed into modal dialog elements.">
- <link rel="match" href="reference/regions-modal-dialog-001-ref.html">
- <style>
- #content {
- width: 100px;
- height: 100px;
- background-color: green;
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: gray;
- flow-from: f;
- }
- .red {
- width: 100px;
- height: 100px;
- background-color: red;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square in the gray box.</li>
- <li>You should see no red.</li>
- </ol>
- <div id="content"></div>
- <dialog id="region">
- <div class="red"></div>
- </dialog>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.showModal();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-002.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-002.html
deleted file mode 100644
index 3be9e4df6ba..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-modal-dialog-002.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions Test: flowing modal dialog elements in region</title>
- <link rel="author" title="Catalin Badea" href="mailto:badea@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="dom">
- <meta name="assert" content="Test checks that modal dialog elements are correctly flowed into a region.">
- <link rel="match" href="reference/regions-modal-dialog-002-ref.html">
- <style>
- #content {
- width: 30px;
- height: 30px;
- background-color: green;
- flow-into: f;
- }
- #region {
- flow-from: f;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>Test passes if you see a green square.</li>
- </ol>
- <dialog id="content"></dialog>
- <div id="region"></div>
- </body>
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- var dialog = document.getElementsByTagName('dialog')[0];
- dialog.showModal();
- });
- </script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-001.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-001.html
deleted file mode 100644
index c1b2380fef6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-001.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: regions as part of the root stacking context</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that regions respect stacking rules when part of the root stacking context.">
- <link rel="match" href="reference/regions-stacking-context-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
- .region {
- flow-from: flow;
- }
- .region p{
- height: 50%;
- background-color: red;
- }
-
- .left,
- .center,
- .right {
- position: absolute;
- width: 100px;
- height: 100px;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightblue;
- }
- .center {
- top: 25px;
- left: 25px;
- background-color: lightgreen;
- }
- .right {
- top: 50px;
- left: 50px;
- background-color: yellow;
- }
-
- .back {
- z-index: 1;
- }
- .middle {
- z-index: 10;
- }
- .front {
- z-index: 100;
- }
-
- ol {
- margin-left: 150px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see three colored overlapping squares, from back to front: a blue square, a green square and a yellow square.</li>
- </ol>
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div class="right front"></div>
- <div class="left back"></div>
- <div class="center middle region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-002.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-002.html
deleted file mode 100644
index 9d4f3a35b84..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-002.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: regions as part of a non-root stacking context</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that regions respect stacking rules when part of a non-root stacking context.">
- <link rel="match" href="reference/regions-stacking-context-002-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
- .region {
- flow-from: flow;
- }
- .region p{
- height: 50%;
- background-color: red;
- }
-
- #container {
- opacity: 0.7;
- }
- #container > div {
- position: absolute;
- width: 100px;
- height: 100px;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightblue;
- }
- .center {
- top: 25px;
- left: 25px;
- background-color: lightgreen;
- }
- .right {
- top: 50px;
- left: 50px;
- background-color: yellow;
- }
- ol {
- margin-left: 150px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see three colored overlapping squares, from back to front: a blue square, a green square and a yellow square.</li>
- </ol>
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- <div id="container">
- <div class="left"></div>
- <div class="center region">
- <p>&nbsp;</p>
- </div>
- <div class="right"></div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-003.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-003.html
deleted file mode 100644
index 70885aaa2a5..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-003.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: regions as part of the same stacking context as the node</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that regions respect stacking and painting rules when
- both the region and the content nodes are part of the same, non-root stacking context.">
- <link rel="match" href="reference/regions-stacking-context-003-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- color: green;
- flow-into: flow;
- }
- .region {
- width: 100px;
- height: 100px;
- flow-from: flow;
- }
- .region p{
- height: 50%;
- background-color: red;
- }
-
- #container {
- position: relative;
- opacity: .7;
- }
- #container > div {
- position: absolute;
- width: 100px;
- height: 100px;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightgreen;
- }
- .center {
- top: 25px;
- left: 25px;
- background-color: lightblue;
- }
- .right {
- top: 50px;
- left: 50px;
- background-color: yellow;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see three colored overlapping squares, from back to front: a green square, a blue square and a yellow square.</li>
- </ol>
- <div id="container">
- <div class="left region"></div>
- <div class="center"></div>
- <div class="right"></div>
- <div id="content">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx
- </div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-004.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-004.html
deleted file mode 100644
index 73756dab1a4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-004.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: regions create stacking contexts</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that regions create stacking contexts for content flowed into them.">
- <link rel="match" href="reference/regions-stacking-context-004-ref.html">
- <style>
- #content {
- opacity: 0.7;
- }
- #content > div {
- position: relative;
- width: 100px;
- height: 100px;
- flow-into: flow;
- }
- .left {
- top: 0;
- left: 0;
- background-color: lightgreen;
- }
- .center {
- top: -75px;
- left: 25px;
- background-color: lightblue;
- }
- .right {
- top: -150px;
- left: 50px;
- background-color: yellow;
- }
-
- #region {
- width: 150px;
- height: 150px;
- flow-from: flow;
- }
- #region p{
- height: 50%;
- background-color: red;
- }
-
- #dummy {
- background-color: purple;
- width: 100px;
- height: 100px;
- margin-top: -75px;
- margin-left: 75px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see four colored overlapping squares, from back to front: a green square, a blue square, a yellow square and a purple square.</li>
- <!-- The purple square should be painted on top of the other ones because the region creates a stackign context for its contents. -->
- </ol>
-
- <div id="region">
- <p>&nbsp;</p>
- </div>
- <div id="dummy"></div>
-
- <div id="content">
- <div class="left"></div>
- <div class="center"></div>
- <div class="right"></div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-005.html b/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-005.html
deleted file mode 100644
index 9a34d3c6a1b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/stacking-context/regions-stacking-context-005.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: regions changing stacking order when as part of a stacking context</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that regions stacking rules take precedence over content stacking rules.">
- <link rel="match" href="reference/regions-stacking-context-005-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #content {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- opacity: .999;
- flow-into: flow;
- }
- #front {
- z-index: 10;
- color: blue;
- }
- #back {
- z-index: 1;
- color: green;
- }
-
- .region {
- width: 100px;
- height: 100px;
- flow-from: flow;
- }
- .region p{
- background-color: red;
- width: 50%;
- }
- #front-region {
- margin-top: -50px;
- margin-left: 50px;
- }
- </style>
- </head>
- <body>
- <ol>
- <li>You should see no red.</li>
- <li>You should see two colored overlapping squares: a green square on top of a blue square.</li>
- </ol>
- <div id="content">
- <span id="front">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br></span>
- <span id="back">xxxxx<br>xxxxx<br>xxxxx<br>xxxxx<br>xxxxx</span>
- </div>
- <div class="region">
- <p>&nbsp;</p>
- </div>
- <div id="front-region" class="region">
- <p>&nbsp;</p>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-green.png b/tests/wpt/web-platform-tests/css/css-regions/support/1x1-green.png
deleted file mode 100644
index b98ca0ba0a0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-green.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-lime.png b/tests/wpt/web-platform-tests/css/css-regions/support/1x1-lime.png
deleted file mode 100644
index cb397fb090e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-lime.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-maroon.png b/tests/wpt/web-platform-tests/css/css-regions/support/1x1-maroon.png
deleted file mode 100644
index 3f86b072195..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-maroon.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-navy.png b/tests/wpt/web-platform-tests/css/css-regions/support/1x1-navy.png
deleted file mode 100644
index 9b9a03955ba..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-navy.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-red.png b/tests/wpt/web-platform-tests/css/css-regions/support/1x1-red.png
deleted file mode 100644
index 6bd73ac1018..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-red.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-white.png b/tests/wpt/web-platform-tests/css/css-regions/support/1x1-white.png
deleted file mode 100644
index dd43faec54a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/1x1-white.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/60x60-gg-rr.png b/tests/wpt/web-platform-tests/css/css-regions/support/60x60-gg-rr.png
deleted file mode 100644
index 84f5b2a4f1d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/60x60-gg-rr.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/60x60-green.png b/tests/wpt/web-platform-tests/css/css-regions/support/60x60-green.png
deleted file mode 100644
index b3c8cf3eb4c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/60x60-green.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/60x60-red.png b/tests/wpt/web-platform-tests/css/css-regions/support/60x60-red.png
deleted file mode 100644
index 823f125b8e4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/60x60-red.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/README b/tests/wpt/web-platform-tests/css/css-regions/support/README
deleted file mode 100644
index 2e5f2ad0738..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/README
+++ /dev/null
@@ -1,28 +0,0 @@
-CSS Global Support Directory
-============================
-
-This directory contains common support files (such as images and external
-style sheets). These are sync'ed into the support directories of all our
-test suites. If you have test-suite-specific support files, please add
-them to the appropriate test-suite-specific support/ directory.
-
-If you add to a support/ directory, please run the tools/supportprop.py
-script from the top of the repository to cascade support files into the
-lower-level support directories.
-
-Description of the Common Support File Collection
--------------------------------------------------
-
-The 1x1-* images are all exactly one pixel.
-
-The swatch-* images all use 15x15 cells.
-
-The square-* images all use 15x15 cells with one pixel borders.
-
-The pattern-* images use cells of various sizes:
-
- pattern-grg-rgr-grg.png 20x20
- pattern-rgr-grg-rgr.png 20x20
- pattern-tr.png 15x15
- pattern-grg-rrg-rgg.png 15x15
-
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/a-green.css b/tests/wpt/web-platform-tests/css/css-regions/support/a-green.css
deleted file mode 100644
index b0dbb071d5b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/a-green.css
+++ /dev/null
@@ -1 +0,0 @@
-.a { color: green; }
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/b-green.css b/tests/wpt/web-platform-tests/css/css-regions/support/b-green.css
deleted file mode 100644
index a0473f5ca26..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/b-green.css
+++ /dev/null
@@ -1 +0,0 @@
-.b { color: green; } \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/c-red.css b/tests/wpt/web-platform-tests/css/css-regions/support/c-red.css
deleted file mode 100644
index d4ba5c64e95..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/c-red.css
+++ /dev/null
@@ -1 +0,0 @@
-.c { color: red; } \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/cat.png b/tests/wpt/web-platform-tests/css/css-regions/support/cat.png
deleted file mode 100644
index 85dd7324815..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/cat.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rgr-grg.png b/tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rgr-grg.png
deleted file mode 100644
index 9b88fbd8114..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rgr-grg.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rrg-rgg.png b/tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rrg-rgg.png
deleted file mode 100644
index fcf4f3fd7d9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-grg-rrg-rgg.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-rgr-grg-rgr.png b/tests/wpt/web-platform-tests/css/css-regions/support/pattern-rgr-grg-rgr.png
deleted file mode 100644
index d454e3a630c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-rgr-grg-rgr.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-tr.png b/tests/wpt/web-platform-tests/css/css-regions/support/pattern-tr.png
deleted file mode 100644
index 8b4b25364e0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/pattern-tr.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/square-purple.png b/tests/wpt/web-platform-tests/css/css-regions/support/square-purple.png
deleted file mode 100644
index 0f522d78728..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/square-purple.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/square-teal.png b/tests/wpt/web-platform-tests/css/css-regions/support/square-teal.png
deleted file mode 100644
index e567f51b91b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/square-teal.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/square-white.png b/tests/wpt/web-platform-tests/css/css-regions/support/square-white.png
deleted file mode 100644
index 5853cbb238c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/square-white.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-blue.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-blue.png
deleted file mode 100644
index bf2759634d4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-blue.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-green.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-green.png
deleted file mode 100644
index 0aa79b0c86b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-green.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-lime.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-lime.png
deleted file mode 100644
index 55fd7fdaedf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-lime.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-orange.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-orange.png
deleted file mode 100644
index d3cd498b52b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-orange.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-red.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-red.png
deleted file mode 100644
index 1caf25c992a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-red.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-teal.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-teal.png
deleted file mode 100644
index 0293ce89dea..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-teal.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-white.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-white.png
deleted file mode 100644
index 1a7d4323d77..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-white.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-yellow.png b/tests/wpt/web-platform-tests/css/css-regions/support/swatch-yellow.png
deleted file mode 100644
index 1591aa0e2e2..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/swatch-yellow.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/test-bl.png b/tests/wpt/web-platform-tests/css/css-regions/support/test-bl.png
deleted file mode 100644
index 904e24e996a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/test-bl.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/test-br.png b/tests/wpt/web-platform-tests/css/css-regions/support/test-br.png
deleted file mode 100644
index f413ff5c1a0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/test-br.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/test-outer.png b/tests/wpt/web-platform-tests/css/css-regions/support/test-outer.png
deleted file mode 100644
index 82eeace7fc0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/test-outer.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/test-tl.png b/tests/wpt/web-platform-tests/css/css-regions/support/test-tl.png
deleted file mode 100644
index f6ac0ef7e8f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/test-tl.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/support/test-tr.png b/tests/wpt/web-platform-tests/css/css-regions/support/test-tr.png
deleted file mode 100644
index 59843ae54b6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/support/test-tr.png
+++ /dev/null
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html b/tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html
deleted file mode 100644
index 388d1c78689..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html
+++ /dev/null
@@ -1,377 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions testing strategy</title>
- <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
- <!--
- === NOTA BENE ===
- For the three scripts below, if your spec resides on dev.w3 you can check them
- out in the same tree and use relative links so that they'll work offline,
- -->
- <script src='http://www.w3.org/Tools/respec/respec-w3c-common' class='remove' async></script>
- <script class='remove'>
- var respecConfig = {
- specStatus: "unofficial",
- shortName: "css3-regions-test-strategy",
- editors: [
- {
- name: "Alan Stearns", mailto: "stearns@adobe.com",
- company: "Adobe Systems, Inc.", companyURL: "http://www.adobe.com/"
- },
- {
- name: "Mihai Balan", mailto: "mibalan@adobe.com",
- company: "Adobe Systems, Inc.", companyURL: "http://www.adobe.com/"
- },
- ],
- testSuiteURI: "http://test.csswg.org/suites/css3-regions/nightly-unstable/",
- };
- </script>
- <style>
- a.bibref,
- #references dt {
- text-transform: uppercase;
- }
- </style>
- </head>
- <body>
- <section id='abstract'>
- <p>
- This document is intended to be used as a guideline for the testing
- activities related to the CSS Regions spec [[!css3-regions]]. Its main
- goal is to provide an overview of the general testing areas, possible
- caveats and testing aspects not immediately apparent from the spec.
- Also, it provides a means of tracking the progress of the CSS Regions
- spec testing.
- </p>
- <p>
- This document is not meant to replace the spec in determining the
- normative and non-normative assertions to be tested, but rather
- complement it.
- </p>
- </section>
-
- <section>
- <h2>Introduction</h2>
- <p>
- As CSS moved away from the monolithic development of CSS 2.1 to the
- modular development of CSS 3, the number of proposed new features and
- the complexity of the layout landscape have increased dramatically.
- While this directly translates to increased flexibility and agility in
- adopting and implementing new CSS features, it also increases the
- complexity of testing CSS features and the need for coordinating the
- testing efforts. Also, the need for testing coordination increases as
- crowd-sourcing efforts like
- <a href="http://testthewebforward.org/" target="_blank">Test the Web
- Forward</a> present people less familiar with the processes and policies
- of the W3C with the opportunity to contribute new tests.
- </p>
- <p>
- Except when defining new behaviors or redefining old behaviors, the
- implicit assumption for new CSS modules is that they play nicely with
- other modules or properties defined in CSS&nbsp;2.1 [[CSS21]]. As CSS
- Regions is a spec that touches many aspects of layout, styling and CSSOM,
- it's not unreasonable to want to test the spec against these implicit
- assumptions, too.
- </p>
- <p>
- This testing strategy document is meant to complement the CSS Regions
- spec and the existing test suite by providing an overview of the testing
- areas (especially the less apparent ones) and tracking the progress of
- the testing activities against these test areas.
- </p>
- </section>
- <section>
- <h2>Goals</h2>
- <p>
- To ensure a comprehensive test suite with useful, high quality tests, a
- number of goals are proposed. They range from process goals (how to
- conduct testing) to implementation goals (how to write good tests).
- </p>
- <section>
- <h3>Enabling easy test contribution</h3>
- <p>
- An important vector in successfully testing CSS Regions is to
- enable easy test contributions, both from W3C partners and from
- non-W3C members that wish to contribute. This is achieved by clearly
- marking and explaining the areas that need testing, linked to existing
- tests and general testing progress.
- </p>
- </section>
- <section>
- <h3>Providing guidance on testing</h3>
- <p>
- In order to increase the quality of the test contributions, this
- document offers a set of guidelines for conducting testing (see
- <a href="#approach" class="sectionRef"></a>) and a testing progress
- tracker to increase the surface coverage of tests (see
- <a href="#test-progress-tracking" class="sectionRef"></a>).
- </p>
- </section>
- <section>
- <h3>Creating automation-friendly tests</h3>
- <p>
- In terms of actual tests produced for the CSS Regions, the main goal
- is to ensure that most tests are automatable (i.e. they're either
- reftests or use <code>testharness.js</code>). Even where manual tests
- are absolutely necessary they should be written so that they can be
- easily automated &ndash; as there are on-going efforts to make
- WebDriver [[webdriver]] automated tests a first class citized in W3C
- testing. This means that even if a manual test requires user
- interaction, the validation or PASS/FAIL conditions should still be
- clear enough as to allow automatic validation if said interaction is
- later automated.
- </p>
- </section>
- </section>
- <section>
- <h2>Risks and mitigation</h2>
- <p>
- There are a number of risks associated with creating a high-quality
- test suite for CSS Regions. The most important ones are listed below.
- </p>
- <section>
- <h3>Implicit interactions with a lot of other specs (and commonly accepted
- browser behavior)</h3>
- <p>
- The CSS Region spec introduces a significant change in the way layout
- can be done and as a consequence, many of the assumptions that hold in
- the context of CSS&nbsp;2.1 must be re-validated in the context of CSS
- Regions. In the meanwhile, a lot of new layout modules have been
- proposed, with various degrees of implementor support and maturity.
- Also, non-CSS specific specs introduced concepts that affect how style
- is propagated (e.g. Shadow DOM [[shadow-dom]]) or how elements are
- rendered and interact with their containing documents (e.g.
- <code>&lt;iframe seamless&gt;</code> in HTML 5 [[HTML5]]).
- </p>
- <p>
- All the above factors increase the testing surface and the number of
- the possible cases that might need an explicitly specified behavior in
- order to ensure intuitive and predictable results as well as stable
- interaction with widely used browser features (that might not be <em>yet</em>
- so strictly specified).
- </p>
- <p>
- In terms of specifying the expected behavior, the current approach is
- to try and specify it for specs that are final or nearly-final and to
- just make a note of the possible interactions and unspecified behaviors
- in the case of specs that are still in flux. In exceptional cases, a
- new spec might be created to cater for the needs of multiple specs
- (e.g. the CSS Fragmentation spec [[css3-break]]).
- </p>
- </section>
- <section>
- <h3>Big number of tests required</h3>
- <div class="note">
- Add here the estimation of tests required produced by
- <a href="https://github.com/web-platform-tests/wpt/tree/master/tools/coverage" target="_blank">W3C test coverage</a>
- tool. If possible, provide a better informed guess on the number of tests.
- </div>
- <p>
- Given the complexity of the spec, a big number of tests will need to
- be created to produce a test suite that can ensure interoperability
- between implementations.
- </p>
- <p>
- In this context, the main purpose of this document is to provide
- useful informations for creating and contributing tests in an effective
- manner in terms of coverage and test quality.
- </p>
- </section>
- </section>
- <section>
- <h2>Approach</h2>
- <p>
- As spec testing cannot be realistically separated from testing a
- particular implementation (except for the very simple cases), the
- approach proposed for testing is one that tries to first cover as many
- areas as possible, instead of deep diving on a certain feature or aspect
- of the spec first. A side benefit of this approach is that the spec
- tests can be used at any time to gauge the level of support of a certain
- implementation.
- </p>
- <p>
- Having this <em>breadth-first</em> approach in mind, tests will be
- created for the testing areas listed in <a href="#testing-areas"
- class="sectionRef"></a>. Testing will be done in multiple passes, each
- aimed at covering more specific edge-cases.
- </p>
- </section>
- <section>
- <h2>Testing areas</h2>
- <section>
- <h3>Explicit testing areas</h3>
- <p>
- These are testing areas normatively defined by the spec. They cover
- things explicitly or implicitly defined in the CSS Regions spec.
- Please note that while detailed, this list is not necessarily
- exhaustive and normative behaviors may not be contained in it.
- When in doubt, consult the CSS Regions spec or ask a question on the
- <a href="http://lists.w3.org/Archives/Public/www-style/">mailing
- list</a>.
- </p>
- <p>
- Below is the list of explicit testing areas:
- <ol>
- <li>
- Proper parsing of the CSS properties and rules, rendering
- according to the spec.
- <ul>
- <li><code>flow-into</code> and <code>flow-from</code>;
- <code>flow-into</code> should be tested both with and without
- the <code>content</code> switch</li>
- <li><code>region-fragment</code></li>
- <li>fragmentation additions: <code>region-avoid</code>,
- <code>region-always</code> &ndash; see [[!css3-break]] for
- details</li>
- </ul>
- </li>
- <li>Nested named flows and cycle detection</li>
- <li>Multi-column regions</li>
- <li>Regions' pseudo-elements</li>
- <li>Region auto-sizing (regions visual formatting details)</li>
- <li>
- CSSOM - interfaces implemented, behavior according to the spec
- <div class="note">
- <code>regionfragmentchange</code> might be removed from this level of the spec.
- Adjust the contents of the list below accordingly.
- </div>
- <ul>
- <li>
- <code>NamedFlow</code> interface
- </li>
- <li>
- <code>Region</code> interface
- </li>
- <li>
- <code>regionoversetchange</code> event
- </li>
- <li>
- <code>regionfragmentchange</code> event
- </li>
- </ul>
- </li>
- <li>
- DOM additions
- <ul>
- <li>
- <code>getClientRects()</code> and
- <code>getBoundingClientRects()</code></li>
- <li>
- <code>offsetTop</code>, <code>offsetBottom</code>,
- <code>offsetLeft</code>, <code>offsetRight</code> and
- <code>offsetParent</code>
- </li>
- </ul>
- </li>
- </ol>
- </p>
- <div class="note">
- Region styling has been removed from the spec waiting for it to be defined in the page
- styling spec. This is a reminder for adding section here related to page/region styling
- once this gets specified.
- </div>
- </section>
- <section>
- <h3>Implicit testing areas</h3>
- <p>
- These are testing areas either normatively defined in other specs
- that explicitly refer to the CSS Regions spec (e.g. [[!css3-break]])
- or simply not explicitly defined, but implied by various aspects of
- the spec (e.g. processing model, CSS 2.1 compliance, etc.).
- Please note that while detailed, this list is not necessarily
- exhaustive and normative behaviors may not be contained in it.
- When in doubt, consult the CSS Regions spec or ask a question on the
- <a href="http://lists.w3.org/Archives/Public/www-style/">mailing
- list</a>.
- </p>
- <p>
- Below is the list of implicit testing areas:
- <ol>
- <li>
- CSS Regions and layout modules:
- <ul>
- <li>Floats</li>
- <li>Positioned elements</li>
- <li>Intrinsic and extrinsic sizing [[css3-sizing]] and auto-sized regions</li>
- <li>CSS Flexbox [[css3-flexbox]]</li>
- <li>CSS Multicolumn [[css3-multicol]] content in named flows</li>
- <li>CSS Shapes [[css-shapes-1]]</li>
- <li>CSS Grid Layout [[css3-grid-layout]]</li>
- </ul>
- </li>
- <li>
- CSS Regions and different types of elements
- <ul>
- <li>List items</li>
- <li>
- <code>&lt;iframe&gt;</code>
- <ul>
- <li>fragmentation of <code>&lt;iframe&gt;</code> and
- <code>&lt;iframe seamless&gt;</code></li>
- </ul>
- </li>
- <li><code>&lt;video&gt;</code></li>
- <li><code>&lt;canvas&gt;</code></li>
- <li><code>&lt;table&gt;</code></li>
- </ul>
- </li>
- <li>Stacking contexts</li>
- <li>
- Fragmentation
- <ul>
- <li>Named flow content fragmentation</li>
- <li>Regions fragmentation</li>
- </ul>
- </li>
- <li>
- Dynamic content
- <ul>
- <li>Changing the content of the named flows or of the region chain at runtime</li>
- <li>Interactive content: <code>contentEditable</code>, <code>designMode</code> and
- input elements</li>
- </ul>
- </li>
- <li>User input events (e.g. mouse, touch, keyboard); this includes event propagation</li>
- <li>User action pseudo-classes (e.g. <code>:active</code>, <code>:hover</code>)</li>
- <li>Writing modes</li>
- <li>Transforms</li>
- <li>Transitions and animations</li>
- <li>
- Shadow DOM
- <ul>
- <li>Regions inside shadow trees</li>
- <li>Flowing content from shadow trees</li>
- </ul>
- </li>
- <li>Content clipping and overflowing</li>
- <li>Pseudo-elements in named flow contents</li>
- </ol>
- </p>
- <div class="note">
- Region styling has been removed from the spec waiting for it to be defined in the page
- styling spec. This is a reminder for adding section here related to page/region styling
- interacting with <code>&lt;style scoped&gt;</code> once this gets specified.
- </div>
- </section>
- </section>
- <section>
- <h2>People and responsibilities</h2>
- <p>
- Below is a list of people you should reach out to if you have any
- questions related to this document or testing CSS Regions in general:
- <ul>
- <li>Alan Stearns &ndash; editor and test coordinator for CSS Regions spec</li>
- <li>Rebecca Hauck &ndash; CSSWG testing owner</li>
- </ul>
- </p>
- </section>
- <section>
- <h2>Test progress tracking</h2>
- <p>
- Currently test progress tracking is done via gitHub
- <a href="https://github.com/w3c/csswg-test/issues/milestones?with_issues=yes">milestones</a>
- and <a href="https://github.com/w3c/csswg-test/issues?milestone=9&state=open">issues</a>.
- </p>
- </section>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-001-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-001-ref.html
deleted file mode 100644
index d5373898308..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-001-ref.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <style type="text/css">
- #green-square {
- width: 100px;
- height: 100px;
- background-color: green;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="green-square"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-008-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-008-ref.html
deleted file mode 100644
index c11a78aa3b5..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-008-ref.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style type="text/css">
- .square {
- float: left;
- font-family: Ahem;
- font-size: 10px;
- line-height: 20px;
- margin-left: 10px;
- color: green;
- width: 100px;
- height: 100px;
- border: 1px solid black;
- }
-
- </style>
-</head>
-<body>
- <p>The test passes if:</p>
- <ul>
- <li>The two squares each contain five green horizontal stripes</li>
- <li>There are two green horizontal stripes below the square on right</li>
- <li>There is no red</li>
- </ul>
- <div class="square">
- XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
- </div>
- <div class="square">
- XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-010-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-010-ref.html
deleted file mode 100644
index c0945e56342..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-010-ref.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <style type="text/css">
- #green-square {
- position: absolute;
- left: 58px;
- width: 100px;
- height: 100px;
- background-color: green;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="green-square"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-alt-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-alt-ref.html
deleted file mode 100644
index d5bb4cfbcdf..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-alt-ref.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <style type="text/css">
- .green-rect {
- width: 100px;
- height: 200px;
- margin-left: 10px;
- float: left;
- background-color: green;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
- <div class="green-rect"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-ref.html
deleted file mode 100644
index e16c0abd0eb..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-013-ref.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <style type="text/css">
- .green-square {
- width: 100px;
- height: 100px;
- margin-left: 10px;
- float: left;
- background-color: green;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
- <div class="green-square"></div>
- <div class="green-square"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-014-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-014-ref.html
deleted file mode 100644
index 887362633cd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-014-ref.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <style type="text/css">
- #green-square {
- width: 100px;
- height: 100px;
- background-color: green;
- position: absolute;
- left: 58px;
- top: 100px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="green-square"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-016-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-016-ref.html
deleted file mode 100644
index c445b93d125..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-016-ref.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <style type="text/css">
- #green-square {
- width: 200px;
- height: 200px;
- margin-left: 51px;
- background-color: green;
- transform: perspective(600px) rotateX(45deg);
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green trapezoid and no red.</p>
- <div id="green-square"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-017-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-017-ref.html
deleted file mode 100644
index 8928057ebf6..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-017-ref.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <style type="text/css">
- #green-square {
- width: 100px;
- height: 100px;
- background-color: green;
- }
- #blue-square {
- width: 100px;
- height: 100px;
- background-color: blue;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and a blue square below it, and no red.</p>
- <div id="green-square"></div>
- <div id="blue-square"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-018-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-018-ref.html
deleted file mode 100644
index 96004c186ca..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-018-ref.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- #vertical {
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 100px;
- transform: rotateZ(90deg);
- }
- #horizontal {
- border-bottom: 20px solid green;
- width: 100px;
- height: 80px;
- }
- </style>
- </head>
- <body>
- <p>The test passes if you see a green cross and no red.</p>
- <div id="horizontal">
- <div id="vertical">
- XXXXXXXXX
- </div>
- </div>
- </body>
- </html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-019-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-019-ref.html
deleted file mode 100644
index 2de61e6570b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-019-ref.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .transformed {
- transform: rotateY(45deg);
- transition: 2s;
- }
- .flow {
- color: green;
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- .perspective {
- perspective: 200px;
- perspective-origin: 100% 50%;
- }
- .region {
- width: 100px;
- height: 100px;
- margin: 20px;
- }
-
-
- #failure {
- position: absolute;
- left: 25px;
- width: 10px;
- height: 112px;
- background-color: red;
- z-index: -1;
- }
-
-
-
- </style>
- </head>
- <body>
- <p>Test passes if you see a green trapezoid and no red.</p>
- <div id="failure"></div>
- <div class="region perspective">
- <div class="flow transformed">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- </div>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-020-ref.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-020-ref.html
deleted file mode 100644
index bfc3c79eb80..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/reference/regions-transforms-020-ref.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <style type="text/css">
- .green-square {
- width: 100px;
- height: 100px;
- margin-left: 10px;
- float: left;
- background-color: green;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see two green squares and no red.</p>
- <div class="green-square"></div>
- <div class="green-square"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-001.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-001.html
deleted file mode 100644
index dc35614862f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-001.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed named flow (non-text) content</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-001-ref.html">
- <meta name="assert" content="This test checks that the transform is applied to the named flow non-text content.">
- <style>
- #named-flow {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-into: f;
- transform: translateX(100px);
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: green;
- flow-from: f;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="named-flow"></div>
- <div id="region"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-002.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-002.html
deleted file mode 100644
index 3dca430d66e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-002.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed named flow content element that has a child</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-001-ref.html">
- <meta name="assert" content="This test checks that the child is transformed along with the parent when the
- transform is applied to a named flow content node">
- <style>
- #named-flow-parent {
- width: 50px;
- height: 50px;
- background-color: white;
- flow-into: f;
- transform: scaleX(2);
- transform-origin: left top;
- }
- #named-flow-child {
- width: 50px;
- height: 100px;
- background-color: green;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: f;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="named-flow-parent">
- <div id="named-flow-child"></div>
- </div>
- <div id="region"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-003.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-003.html
deleted file mode 100644
index 87ec4d31e62..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-003.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Named flow content that has a transformed parent outside of the named flow</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-001-ref.html">
- <meta name="assert" content="This tests checks that when a transform is applied to a parent outside of the named
- flow but has child in the named flow, the child is not transformed along with the parent.">
- <style>
- #parent {
- margin-top: -10px;
- width: 10px;
- height: 10px;
- background-color: red;
- transform: translateX(-50px);
- }
- #child {
- background-color: green;
- width: 100px;
- height: 100px;
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: f;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="parent">
- <div id="child"></div>
- </div>
- <div id="region"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-004.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-004.html
deleted file mode 100644
index 3cf43cb5457..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-004.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed region using a 3D transform</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-001-ref.html">
- <meta name="assert" content="This test checks that a 3D transform can be applied to a region">
- <style>
-
- #named-flow {
- width: 75px;
- height: 75px;
- background-color: red;
- border-top: 25px solid green;
- border-right: 25px solid green;
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- margin
- background-color: red;
- flow-from: f;
- transform: rotate3d(1,1,0,180deg);
- }
- #square {
- position: absolute;
- left: 33px;
- top: 50px;
- width: 75px;
- height: 75px;
- background-color: green;
- }
- #failure1, #failure2 {
- position: absolute;
- background-color: red;
- }
- #failure1 {
- width: 25px;
- height: 100px;
- }
- #failure2 {
- width: 100px;
- height: 25px;
- top: 125px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
-
- <div id="failure1"></div>
- <div id="failure2"></div>
- <div id="named-flow"></div>
- <div id="region"></div>
- <div id="square"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-005.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-005.html
deleted file mode 100644
index 8a0ff4d1e21..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-005.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#perspective-property">
- <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
- once this gets in the spec. -->
- <meta name="assert" content="Test checks that content that has a 3D transform does not respect the perspective
- set on its parent when flowed into a region.">
- <meta name="flags" content="ahem">
- <link rel="match" href="reference/regions-transforms-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #parent {
- width: 100px;
- height: 100px;
- perspective: 800px;
- }
- #named-flow {
- flow-into: f;
- transform: rotateY(85deg);
- color: red;
- }
- #region {
- flow-from: f;
- width: 100px;
- height: 100px;
- background-color: green;
- }
- #green-rect {
- position: absolute;
- top: 50px;
- left: 53px;
- width: 10px;
- height: 100px;
- background-color: green;
- }
- </style>
- </head>
- <body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="region"></div>
- <div id="parent">
- <div id="named-flow" class="ahem">
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- XXXXX<br>
- </div>
- </div>
- <!-- If the red content is properly transformed, it will be hidden beneath this green div -->
- <div id="green-rect"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-006.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-006.html
deleted file mode 100644
index d451ed2c067..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-006.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: 3D transform on region with named flow (text) content that overflows</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">
- <meta name="assert" content="Test checks that content flowed in a region and overflowing it is still rendered
- if the region has a 3D transform applied.">
- <meta name="flags" content="ahem">
- <link rel="match" href="reference/regions-transforms-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 20px;
- line-height: 20px;
- }
- #named-flow {
- flow-into: f;
- width: 100px;
- height: 100px;
- color: red;
- background-color: green;
- }
- #region {
- flow-from: f;
- transform: rotateZ(90deg);
- transform-origin: bottom right;
-
- width: 50px;
- height: 50px;
- background-color: green;
- }
- #green-rect {
- position: absolute;
- width: 20px;
- height: 100px;
- background-color: green;
- top: 50px;
- left: 88px;
- }
- </style>
- </head>
- <body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="region"></div>
- <div id="named-flow" class="ahem">XXXXX</div>
- <div id="green-rect"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-007.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-007.html
deleted file mode 100644
index dddc7b5b367..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-007.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: Transforms on both the named flow content and the region</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer author" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <meta name="flags" content="ahem">
- <meta name="assert" content="Test checks that if both the content flowed in a region and the region have a
- transform applied, they are properly composed. More specifically, in this test
- the content should appear as rotated 180 degrees.">
- <link rel="match" href="reference/regions-transforms-001-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 20px;
- line-height: 20px;
- }
- #named-flow {
- flow-into: f;
- transform: rotate(90deg);
- width: 100px;
- height: 100px;
- color: red;
- background-color: green;
- }
- #region {
- flow-from: f;
- transform: rotate(90deg);
- width: 100px;
- height: 100px;
- }
- #green-rect {
- position: absolute;
- width: 100px;
- height: 20px;
- background-color: green;
- top: 130px;
- left: 8px;
- }
- </style>
- </head>
- <body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="named-flow" class="ahem">XXXXX</div>
- <div id="region"></div>
- <div id="green-rect"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-008.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-008.html
deleted file mode 100644
index 70964f3e877..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-008.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer author" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#transforms">
- <link rel="match" href="reference/regions-transforms-008-ref.html">
- <meta name="flags" content="ahem">
- <meta name="assert" content="This test checks that named flow text content is transformed when it breaks across
- multiple regions and that the overflow remains visible.">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 10px;
- line-height: 20px;
- }
- #named-flow {
- color: green;
- margin-left: -50px;
- transform: translateX(50px);
- flow-into: f;
- }
- .region {
- width: 100px;
- height: 100px;
- margin-left: 10px;
- float: left;
- border: 1px solid black;
- flow-from: f;
- }
- .failure {
- position: absolute;
- width: 102px;
- height: 102px;
- margin-top: 1px;
- margin-left: 10px;
- padding-left: 1px;
- color: red;
- z-index: -1;
- }
- .left {
- left: 8px;
- }
- .right {
- left: 120px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if:</p>
- <ul>
- <li>The two squares each contain five green horizontal stripes</li>
- <li>There are two green horizontal stripes below the square on right</li>
- <li>There is no red</li>
- </ul>
- <div id="named-flow" class="ahem">XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX</div>
- <div class="region"></div>
- <div class="region"></div>
-
- <div class="ahem failure left">
- XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
- </div>
- <div class="ahem failure right">
- XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
- </div>
-
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-009.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-009.html
deleted file mode 100644
index 7a26bdf512b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-009.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#transforms">
- <link rel="match" href="reference/regions-transforms-008-ref.html">
- <meta name="flags" content="ahem">
- <meta name="assert" content="This test checks that the regions are transformed when named flow text content breaks
- across multiple regions and that the overflow remains visible.">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 10px;
- line-height: 20px;
- }
- #named-flow {
- color: green;
- flow-into: f;
- }
- .region {
- width: 100px;
- height: 100px;
- float: left;
- margin-left: 10px;
- border: 1px solid black;
- flow-from: f;
- transform: translateX(50px);
- }
- .failure-left,
- .failure-right {
- position: absolute;
- width: 102px;
- height: 102px;
- margin-top: 1px;
- margin-left: 10px;
- padding-left: 1px;
- color: red;
- z-index: -1;
- }
- .left {
- margin-left: -40px;
- }
- .failure-left {
- left: 8px;
- }
- .failure-right {
- left: 120px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if:</p>
- <ul>
- <li>The two squares each contain five green horizontal stripes</li>
- <li>There are two green horizontal stripes below the square on right</li>
- <li>There is no red</li>
- </ul>
- <div id="named-flow" class="ahem">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
- <div class="region left"></div>
- <div class="region"></div>
- <div class="ahem failure-left">
- XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
- </div>
- <div class="ahem failure-right">
- XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-010.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-010.html
deleted file mode 100644
index 3803890c9c0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-010.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed region with position: relative</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-010-ref.html">
- <meta name="assert" content="This test checks that the transform can be applied on relative positioned region.">
- <style>
- #named-flow {
- width: 100px;
- height: 100px;
- background-color: green;
- flow-into: f;
- }
- #region {
- width: 200px;
- height: 200px;
- position: relative;
- left: -50px;
- flow-from: f;
- transform: rotate(90deg);
- }
- #failure {
- position: absolute;
- width: 98px;
- height: 98px;
- left: 60px;
- top: 50px;
- background-color: red;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="failure"></div>
- <div id="named-flow"></div>
- <div id="region"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-011.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-011.html
deleted file mode 100644
index 7272c1c34fc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-011.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed region where parent and child are separate named flow content nodes</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-010-ref.html">
- <meta name="assert" content="This test checks that the region is transformed when a parent and its child are
- separate named flow content nodes flowing into it.">
- <style>
- #named-flow-parent {
- width: 100px;
- height: 50px;
- background-color: green;
- flow-into: f;
- }
- #named-flow-child {
- width: 100px;
- height: 50px;
- background-color: green;
- flow-into: f;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: f;
- transform: translateX(-50px) rotate(90deg);
- transform-origin: right bottom;
- }
- #failure {
- position: absolute;
- width: 98px;
- height: 98px;
- background-color: red;
- left: 59px;
- top: 50px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="failure"></div>
- <div id="named-flow-parent">
- <div id="named-flow-child"></div>
- </div>
- <div id="region"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-012.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-012.html
deleted file mode 100644
index 972894daacd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-012.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed named flow content flowing into transformed region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-010-ref.html">
- <meta name="assert" content="This test checks that named flow text content is transformed when it flows into
- a region that is also transformed.">
- <style>
- #named-flow {
- background-color: red;
- width: 100px;
- height: 100px;
- flow-into: f;
- transform: translateX(100px);
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: green;
- flow-from: f;
- transform: translateX(50px);
- }
- #failure {
- width: 98px;
- height: 98px;
- background-color: red;
- position: absolute;
- left: 59px;
- top: 51px;
- z-index: -1;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="failure"></div>
- <div id="named-flow"></div>
- <div id="region"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-013.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-013.html
deleted file mode 100644
index c03496e4050..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-013.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions</title>
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#transforms">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#breaking-rules">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#monolithic">
- <!-- This reference is for UAs that slice monolithic content -->
- <link rel="match" href="reference/regions-transforms-013-ref.html">
- <!-- This reference is for UAs that overflow monolithic content -->
- <link rel="match" href="reference/regions-transforms-013-alt-ref.html">
- <meta name="assert" content="This test checks that the named flow content that is monolithic is transformed when it
- breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge.">
- <style>
- #named-flow {
- width: 100px;
- height: 100px;
- background-color: green;
- transform: scaleY(2);
- transform-origin: top left;
- flow-into: f;
- }
- .region {
- width: 100px;
- height: 100px;
- margin-left: 10px;
- float: left;
- flow-from: f;
- }
- #region1 {
- background-color: red;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
- <div id="named-flow"></div>
- <div id="region1" class="region"></div>
- <div class="region"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-014.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-014.html
deleted file mode 100644
index 38b65c10f1d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-014.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transform region with position:absolute and transform-origin</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property">
- <link rel="match" href="reference/regions-transforms-014-ref.html">
- <meta name="assert" content="This test checks that the transform and transform-origin are applied to a region
- with absolute positioning.">
- <style>
- #named-flow {
- width: 50px;
- height: 50px;
- background-color: green;
- flow-into: f;
- }
- #region {
- width: 50px;
- height: 50px;
- background-color: red;
- position: absolute;
- left: 58px;
- top: 100px;
- flow-from: f;
- transform: scale(2);
- transform-origin: left top;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="named-flow"></div>
- <div id="region"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-015.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-015.html
deleted file mode 100644
index 3362c46d820..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-015.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-014-ref.html">
- <meta name="assert" content="This test checks that the transform and transform-origin are applied to named flow
- content that flows into a region with absolute positioning."><style>
- #named-flow {
- width: 50px;
- height: 50px;
- background-color: green;
- transform: scale(2);
- flow-into: f;
- /* need to use transform-origin, otherwise scale will cause the green square to grow past the left & top
- edges of the region box */
- transform-origin: left top;
- }
- #region {
- width: 100px;
- height: 100px;
- position: absolute;
- left: 58px;
- top: 100px;
- z-index: 4;
- background-color: red;
- flow-from: f;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and no red.</p>
- <div id="named-flow"></div>
- <div id="region"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-016.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-016.html
deleted file mode 100644
index ba0628e931f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-016.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title></title>
- <title>CSS Regions: 3D transform on named flow content with perspective()</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-016-ref.html">
- <meta name="assert" content="This test checks that a 3D transform is applied with perspective to named flow content.">
- <style>
- #region {
- width: 300px;
- height: 300px;
- position: relative;
- flow-from: f;
- }
- #named-flow {
- width: 200px;
- height: 200px;
- margin: 0 auto 60px;
- background-color: green;
- flow-into: f;
- transform: perspective(600px) rotateX(45deg);
- }
- #div-red-parent {
- position: relative;
- }
- .div-red {
- width: 48px;
- height: 48px;
- position: absolute;
- background-color: red;
- }
- #div-red1 {
- left: 64px;
- top: 38px;
- }
- #div-red2 {
- left: 191px;
- top: 38px;
- }
- #div-red3 {
- left: 48px;
- top: 131px;
- }
- #div-red4 {
- left: 207px;
- top: 131px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green trapezoid and no red.</p>
- <!-- This test fails in WebKit. See this bug: https://bugs.webkit.org/show_bug.cgi?id=114293 -->
- <div id="div-red-parent">
- <div class="div-red" id="div-red1"></div>
- <div class="div-red" id="div-red2"></div>
- <div class="div-red" id="div-red3"></div>
- <div class="div-red" id="div-red4"></div>
- </div>
- <div id="named-flow"></div>
- <div id="region"></div>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-017.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-017.html
deleted file mode 100644
index 7a3f69f7af4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-017.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Multiple transformed named flow content nodes that overflow a region</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="reviewer" title="Rebecca Hauck" href="mailto:rhauck@adobe.com"> <!-- 07-15-2013 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="match" href="reference/regions-transforms-017-ref.html">
- <meta name="assert" content="This test checks that multiple named flow content nodes are transformed into a region
- and that the overflow remains visible.">
- <style>
- #named-flow-parent {
- width: 100px;
- height: 100px;
- flow-into: f;
- transform: scaleY(2);
- transform-origin: top left;
- }
- #named-flow-1 {
- width: 100px;
- height: 50px;
- background-color: green;
- }
- #named-flow-2 {
- width: 100px;
- height: 50px;
- background-color: blue;
- }
- #region {
- width: 100px;
- height: 100px;
- background-color: red;
- flow-from: f;
- }
- #failure {
- position: absolute;
- background-color: red;
- width: 98px;
- height: 98px;
- top: 151px;
- left: 9px;
- z-index: -1;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see a green square and a blue square below it, and no red.</p>
- <div id="failure"></div>
- <div id="named-flow-parent">
- <div id="named-flow-1"></div>
- <div id="named-flow-2"></div>
- </div>
- <div id="region"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-018.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-018.html
deleted file mode 100644
index b267886a405..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-018.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: 3D transform on named flow (text) content that overflows a region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">
- <meta name="assert" content="Test checks that content that is transformed does not clip when flowed in a region.">
- <meta name="flags" content="ahem">
- <link rel="match" href="reference/regions-transforms-018-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 20px;
- line-height: 100px;
- }
- #named-flow {
- flow-into: f;
- transform: rotateZ(90deg);
- color: green;
- }
- #region {
- flow-from: f;
- border-bottom: 20px solid green;
- width: 100px;
- height: 80px;
- }
- #failure {
- position: absolute;
- width: 18px;
- height: 78px;
- background-color: red;
- top: 151px;
- left: 49px;
- z-index: -1;
- }
- </style>
- </head>
- <body>
- <p>The test passes if you see a green cross and no red.</p>
- <div id="named-flow" class="ahem">
- XXXXXXXXX
- </div>
- <div id="region"></div>
- <div id="failure"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-019.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-019.html
deleted file mode 100644
index 7114a97e3dd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-019.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Regions: 3D transform on named flow (text) content with perspective property set on region</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#perspective-property">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#perspective-origin-property">
- <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
- once this gets in the spec. -->
- <meta name="assert" content="Test checks that the 3D transform is applied named content flow, that the
- perspective set on the region is applied, and that the content is not clipped when
- the perspective is shifted"/>
- <meta name="flags" content="ahem">
- <link rel="match" href="reference/regions-transforms-019-ref.html">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 20px;
- line-height: 1em;
- }
- #named-flow {
- flow-into: f;
- transform: rotateY(45deg);
- color: green;
- }
- #region {
- flow-from: f;
- perspective: 200px;
- perspective-origin: 100% 50%;
- width: 100px;
- height: 100px;
- margin: 20px;
- }
- /* Adding a red div that will be covered by the properly transformed
- element with the perspective respected */
- #failure {
- position: absolute;
- left: 25px;
- width: 10px;
- height: 112px;
- background-color: red;
- z-index: -1;
- }
- </style>
- </head>
- <body>
- <p>Test passes if you see a green trapezoid and no red.</p>
- <div id="failure"></div>
- <div id="named-flow" class="ahem">
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- xxxxx<br>
- </div>
- <div id="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-020.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-020.html
deleted file mode 100644
index e2e7d7d09bc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-020.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#transforms">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#breaking-rules">
- <link rel="match" href="reference/regions-transforms-020-ref.html">
- <meta name="assert" content="This test checks that the named flow content that is fragmentable (has a break point)
- is transformed when it breaks across multiple regions.">
- <style>
- #named-flow {
- width: 100px;
- height: 100px;
- flow-into: f;
- }
- .src-child {
- height: 50px;
- background-color: green;
- }
- .region {
- width: 100px;
- height: 50px;
- margin-left: 10px;
- float: left;
- background-color: red;
- flow-from: f;
- transform: scaleY(2);
- transform-origin: top left;
- }
-
- .failure-div {
- position: absolute;
- margin-left: 10px;
- background-color: red;
- width: 98px;
- height: 98px;
- }
- .right {
- left: 119px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see two green squares and no red.</p>
- <div class="failure-div"></div>
- <div class="failure-div right"></div>
- <div id="named-flow">
- <div class="src-child"></div>
- <div class="src-child"></div>
- </div>
- <div class="region"></div>
- <div class="region"></div>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-021.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-021.html
deleted file mode 100644
index 0c5ceddc462..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-021.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#transforms">
- <link rel="match" href="reference/regions-transforms-020-ref.html">
- <meta name="assert" content="This test checks that separate transforms can be applied to each named flow content
- node that breaks across multiple regions and that each fragment has its own transform origin.">
- <style>
- .named-flow {
- float: left;
- background-color: green;
- flow-into: f;
- }
- #named-flow-1 {
- margin-top: 25px;
- margin-left: 25px;
- width: 50px;
- height: 50px;
- transform: scale(2);
- transform-origin: center center;
- }
- #named-flow-2 {
- width: 100px;
- height: 50px;
- margin-top: 25px;
- transform-origin: top left;
- transform: scaleY(2);
- }
- .region {
- width: 100px;
- height: 100px;
- margin-left: 10px;
- float: left;
- background-color: red;
- flow-from: f;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see two green squares and no red.</p>
- <div class="named-flow" id="named-flow-1"></div>
- <div class="named-flow" id="named-flow-2"></div>
- <div class="region"></div>
- <div class="region"></div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-022.html b/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-022.html
deleted file mode 100644
index 8dbaf902eb9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/transforms/regions-transforms-022.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="UTF-8">
- <title>CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions</title>
- <link rel="author" title="David Alcala" href="mailto:dalcala@adobe.com">
- <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
- <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <!-- 2013-07-24 -->
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#flow-from">
- <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
- <link rel="help" href="http://www.w3.org/TR/css3-break/#transforms">
- <link rel="match" href="reference/regions-transforms-020-ref.html">
- <meta name="flags" content="ahem">
- <meta name="assert" content="This test checks that separate transforms can be applied to each named flow content
- text node that breaks across multiple regions">
- <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
- <style>
- .ahem {
- font-family: Ahem;
- font-size: 10px;
- line-height: 20px;
- }
- .named-flow {
- width: 100px;
- color: green;
- flow-into: f;
- }
- #named-flow-1 {
- margin-left: -50px;
- transform: translateX(50px);
- }
- #named-flow-2 {
- transform: rotate(90deg);
- }
- .region {
- width: 100px;
- height: 100px;
- margin-left: 10px;
- float: left;
- flow-from: f;
- }
- .failure {
- width: 100px;
- height: 100px;
- position: absolute;
- float: left;
- margin-left: 10px;
- background-color: green;
- z-index: -1;
- }
- .left {
- color: red;
- }
- .right {
- left: 118px;
- }
- .vertical-bar {
- width: 10px;
- height: 100px;
- float: left;
- background-color: red;
- margin-left: 5px;
- margin-right: 5px;
- }
- </style>
-</head>
-<body>
- <p>The test passes if you see two green squares and no red.</p>
- <div class="ahem named-flow" id="named-flow-1">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
- <div class="ahem named-flow" id="named-flow-2">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
- <div class="region"></div>
- <div class="region"></div>
- <div class="ahem failure left">
- XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
- </div>
- <div class="ahem failure right">
- <div class="vertical-bar"></div>
- <div class="vertical-bar"></div>
- <div class="vertical-bar"></div>
- <div class="vertical-bar"></div>
- <div class="vertical-bar"></div>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/variable-width-001-ref.xht b/tests/wpt/web-platform-tests/css/css-regions/variable-width-001-ref.xht
deleted file mode 100644
index 05522170e61..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/variable-width-001-ref.xht
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Variable-width Regions</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <style type="text/css">
- .one, .three{
- height: 50px;
- width: 50px;
- }
- .two{
- height: 50px;
- width: 100px;
- }
- .pass{
- background-color: green;
- }
- </style>
- </head>
- <body>
- <p>Test passes if there is no red.</p>
- <div class="pass one"></div>
- <div class="pass two"></div>
- <div class="pass three"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/variable-width-001.xht b/tests/wpt/web-platform-tests/css/css-regions/variable-width-001.xht
deleted file mode 100644
index 1049b421c11..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/variable-width-001.xht
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>CSS Test: Variable-width Regions</title>
- <link rel="author" title="Alan Stearns" href="mailto:stearns@adobe.com"/>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties"/>
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property"/>
- <link rel="match" href="variable-width-001-ref.xht"/>
- <meta name="flags" content=""/>
- <meta name="assert" content="The second region should lay out two of the content boxes."/>
- <style type="text/css">
- .content{
- flow-into: boxes;
- }
- .region{
- flow-from: boxes;
- }
- .box{
- height: 50px;
- width: 50px;
- background-color: green;
- display: inline-block;
- }
- .one, .three{
- height: 50px;
- width: 50px;
- }
- .two{
- height: 50px;
- width: 100px;
- }
- .error{
- color: red;
- background-color: red;
- }
- .abs{
- position: absolute;
- z-index: -10;
- }
- </style>
- </head>
- <body>
- <p>Test passes if there is no red.</p>
- <div class="abs">
- <div class="error one"></div>
- <div class="error two"></div>
- <div class="error three"></div>
- </div>
- <div class="content">
- <div class="box"></div>
- <div class="box"></div>
- <div class="box"></div>
- <div class="box"></div>
- </div>
- <div class="region one">
- <div class="error">FAIL</div>
- </div>
- <div class="region two">
- <div class="error">FAIL</div>
- </div>
- <div class="region three">
- <div class="error">FAIL</div>
- </div>
- </body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-regions/writing-modes/extract-ordered-list-direction-and-writing-modes.html b/tests/wpt/web-platform-tests/css/css-regions/writing-modes/extract-ordered-list-direction-and-writing-modes.html
deleted file mode 100644
index 8bbdb97de05..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/writing-modes/extract-ordered-list-direction-and-writing-modes.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Test: flow-into on list items that use different text directions or writing modes</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#properties">
- <link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property">
- <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction">
- <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode">
- <meta name="flags" content="">
- <meta name="assert" content="The flow-into property can be applied to elements that have different text directions and writing modes. This tests that the rendering for lists that use different text directions/writing modes are not affected when they are extracted in a named flow and rendered in a region.">
- <link rel="match" href="reference/extract-ordered-list-direction-and-writing-modes-ref.html">
- <style>
- /*TODO: Include unprefixed and standard properties for writing modes and region breaking. */
- body>ol {
- flow-into: f;
- region-break-after: always;
- break-after: region;
- margin: 0;
- }
- .direction-rtl {
- direction: rtl;
- background-color: lightgray;
- }
- .writing-mode-vrl {
- writing-mode: vertical-rl;
- background-color: lightblue;
- }
- .writing-mode-vlr {
- writing-mode: vertical-lr;
- background-color: lightgreen;
- }
- .region {
- flow-from: f;
- border: thick solid black;
- width: 15em;
- height: 15em;
- float: left;
- margin: 0 1em;
- }
- </style>
- </head>
- <body>
- <!-- Extracting lists with different directions and writing modes. -->
- <p>Test pases if you see three rectangles with black borders containing a numbered list as described below. Each of the lists has a total of six items, three being in a nested list after the second item.</p>
- <p>The first rectangle should display the numbered list on a light gray background. The list items should be right-aligned, with the numbers on the right side of the list item text. Also, the list item numbering should have a period prepended to the actual number (<em>e.g.</em> <strong>.1</strong>) instead of appended to the actual number (<em>e.g.</em> <strong>1.</strong>).</p>
- <p>The second rectangle should display the numbered list on a light blue background. The text should be rotated 90 degrees clockwise with the list items progressing right to left (or top-to-bottom relative to the rotated list) &ndash; this means the right-most list item should have the number 1.</p>
- <p>The third rectangle should display the numbered list on a light green background. The text should be rotated 90 degrees clockwise, with the list items progressing left to right (or bottom-to-top relative to the rotated list) &ndash; this means the right-most list item should have the number 3.</p>
- <ol class="direction-rtl">
- <li>Top-level list, item 1</li>
- <li>Top-level list, item 2
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- <li>First inner list, item 3</li>
- </ol>
- </li>
- <li>Top-level list, item 3</li>
- </ol>
- <ol class="writing-mode-vrl">
- <li>Top-level list, item 1</li>
- <li>Top-level list, item 2
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- <li>First inner list, item 3</li>
- </ol>
- </li>
- <li>Top-level list, item 3</li>
- </ol>
- <ol class="writing-mode-vlr">
- <li>Top-level list, item 1</li>
- <li>Top-level list, item 2
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- <li>First inner list, item 3</li>
- </ol>
- </li>
- <li>Top-level list, item 3</li>
- </ol>
- <div class="region"></div>
- <div class="region"></div>
- <div class="region"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/writing-modes/reference/extract-ordered-list-direction-and-writing-modes-ref.html b/tests/wpt/web-platform-tests/css/css-regions/writing-modes/reference/extract-ordered-list-direction-and-writing-modes-ref.html
deleted file mode 100644
index e713238bfec..00000000000
--- a/tests/wpt/web-platform-tests/css/css-regions/writing-modes/reference/extract-ordered-list-direction-and-writing-modes-ref.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <title>CSS Reftest Reference</title>
- <link rel="author" title="Mihai Balan" href="mailto:mibalan@adobe.com">
- <style>
- .direction-rtl {
- direction: rtl;
- background-color: lightgray;
- }
- .writing-mode-vrl {
- writing-mode: vertical-rl;
- background-color: lightblue;
- }
- .writing-mode-vlr {
- writing-mode: vertical-lr;
- background-color: lightgreen;
- }
- .region {
- border: thick solid black;
- width: 15em;
- height: 15em;
- float: left;
- margin: 0 1em;
- }
- .region>ol {
- margin: 0;
- }
- </style>
- </head>
- <body>
- <p>Test pases if you see three rectangles with black borders containing a numbered list as described below. Each of the lists has a total of six items, three being in a nested list after the second item.</p>
- <p>The first rectangle should display the numbered list on a light gray background. The list items should be right-aligned, with the numbers on the right side of the list item text. Also, the list item numbering should have a period prepended to the actual number (<em>e.g.</em> <strong>.1</strong>) instead of appended to the actual number (<em>e.g.</em> <strong>1.</strong>).</p>
- <p>The second rectangle should display the numbered list on a light blue background. The text should be rotated 90 degrees clockwise with the list items progressing right to left (or top-to-bottom relative to the rotated list) &ndash; this means the right-most list item should have the number 1.</p>
- <p>The third rectangle should display the numbered list on a light green background. The text should be rotated 90 degrees clockwise, with the list items progressing left to right (or bottom-to-top relative to the rotated list) &ndash; this means the right-most list item should have the number 3.</p>
- <div class="region">
- <ol class="direction-rtl">
- <li>Top-level list, item 1</li>
- <li>Top-level list, item 2
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- <li>First inner list, item 3</li>
- </ol>
- </li>
- <li>Top-level list, item 3</li>
- </ol>
- </div>
- <div class="region">
- <ol class="writing-mode-vrl">
- <li>Top-level list, item 1</li>
- <li>Top-level list, item 2
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- <li>First inner list, item 3</li>
- </ol>
- </li>
- <li>Top-level list, item 3</li>
- </ol>
- </div>
- <div class="region">
- <ol class="writing-mode-vlr">
- <li>Top-level list, item 1</li>
- <li>Top-level list, item 2
- <ol>
- <li>First inner list, item 1</li>
- <li>First inner list, item 2</li>
- <li>First inner list, item 3</li>
- </ol>
- </li>
- <li>Top-level list, item 3</li>
- </ol>
- </div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-syntax/escaped-eof.html b/tests/wpt/web-platform-tests/css/css-syntax/escaped-eof.html
index 5d47c34ac51..b4450ea730f 100644
--- a/tests/wpt/web-platform-tests/css/css-syntax/escaped-eof.html
+++ b/tests/wpt/web-platform-tests/css/css-syntax/escaped-eof.html
@@ -15,7 +15,7 @@
<script>
test(()=>{
- assert_throws("SyntaxError", ()=>{document.querySelector("#123");}, "numeric hash token is invalid in a selector");
+ assert_throws_dom("SyntaxError", ()=>{document.querySelector("#123");}, "numeric hash token is invalid in a selector");
document.querySelector("#foo\\"); // escaped-EOF in a hash token is valid in a selector
}, "Escaped EOF turns into a U+FFFD in a hash token, makes it 'ID' type.");
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html
index d271057c43c..cde64415b7b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html
@@ -2,7 +2,9 @@
<meta charset=utf-8>
<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
-<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html
index e10b4e19033..fccb3f48e46 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-005.html
@@ -2,7 +2,9 @@
<meta charset=utf-8>
<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
-<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html
new file mode 100644
index 00000000000..7b6630c7d00
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-006.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="5.5. Overflow Wrapping: the overflow-wrap/word-wrap property" href="https://drafts.csswg.org/css-text-3/#overflow-wrap-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-break-word">
+<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
+<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
+<style>
+div {
+ font: 25px/1 Ahem;
+ color: green;
+ background: red;
+
+ width: 2ch;
+ white-space: pre-wrap;
+ overflow-wrap: break-word;
+}
+</style>
+
+<p>This test passes if there is a green square and no red.
+<div>XX<span> </span>XX</div>
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html
new file mode 100644
index 00000000000..11e3e3d6758
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-007.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="5.5. Overflow Wrapping: the overflow-wrap/word-wrap property" href="https://drafts.csswg.org/css-text-3/#overflow-wrap-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-break-word">
+<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
+<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
+<style>
+div {
+ font: 10px/1 Ahem;
+}
+.ref {
+ position: absolute;
+ color: red;
+ z-index: -1;
+}
+.ref span { color: green; }
+.test {
+ color: green;
+
+ width: 5ch;
+ white-space: pre-wrap;
+ overflow-wrap: break-word;
+}
+</style>
+
+<p>This test passes if there is a green square and no red.
+<div class="ref">XX<span>XXX</span><br>X<span>XX</span>X<span>X</span><br><span>XXXXX</span><br><span>XXXXX</span><br><span>XXXXX</span></div>
+<div class="test">XX<span> </span><span>X X </span></div>
+
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html
new file mode 100644
index 00000000000..75d8b200064
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-008.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="5.5. Overflow Wrapping: the overflow-wrap/word-wrap property" href="https://drafts.csswg.org/css-text-3/#overflow-wrap-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-anywhere">
+<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
+<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+div {
+ font: 10px/1 Ahem;
+}
+.ref {
+ position: absolute;
+ color: red;
+ z-index: -1;
+}
+.ref span { color: green; }
+.test {
+ color: green;
+
+ width: 5ch;
+ white-space: pre-wrap;
+ overflow-wrap: anywhere;
+}
+</style>
+
+<p>This test passes if there is a green square and no red.
+<div class="ref">XX<span>XXX</span><br>X<span>XX</span>X<span>X</span><br><span>XXXXX</span><br><span>XXXXX</span><br><span>XXXXX</span></div>
+<div class="test">XX<span> </span><span>X X </span></div>
+
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html
new file mode 100644
index 00000000000..fad383233b3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-009.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="5.5. Overflow Wrapping: the overflow-wrap/word-wrap property" href="https://drafts.csswg.org/css-text-3/#overflow-wrap-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-anywhere">
+<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
+<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
+<style>
+div {
+ font: 10px/1 Ahem;
+}
+.ref {
+ position: absolute;
+ color: red;
+ z-index: -1;
+}
+.ref span { color: green; }
+.test {
+ color: green;
+
+ width: 5ch;
+ white-space: pre-wrap;
+ overflow-wrap: anywhere;
+}
+</style>
+
+<p>This test passes if there is a green square and no red.
+<div class="ref">XX<span>XXX</span><br>X<span>XX</span>X<span>X</span><br><span>XXXXX</span><br><span>XXXXX</span><br><span>XXXXX</span></div>
+<div class="test">XX<span> </span><span>X X </span></div>
+
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html
new file mode 100644
index 00000000000..ba0c5364884
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-010.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="5.2. Breaking Rules for Letters: the word-break property" href="https://drafts.csswg.org/css-text-3/#word-break-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all">
+<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
+<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
+<style>
+div {
+ font: 25px/1 Ahem;
+ color: green;
+ background: red;
+
+ width: 2ch;
+ white-space: pre-wrap;
+ overflow-wrap: break-word;
+}
+</style>
+
+<p>This test passes if there is a green square and no red.
+<div>XX<span> </span>XX</div>
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html
new file mode 100644
index 00000000000..00f97f03609
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-011.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Text test: hanging trailing spaces with white-space:pre-wrap</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
+<link rel="help" title="3. White Space and Wrapping: the white-space property" href="https://drafts.csswg.org/css-text-3/#white-space-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" title="4.1.3. Phase II: Trimming and Positioning" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+<link rel="help" title="5.2. Breaking Rules for Letters: the word-break property" href="https://drafts.csswg.org/css-text-3/#word-break-property">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all">
+<link rel="match" href="reference/white-space-pre-wrap-trailing-spaces-004-ref.html">
+<meta name="assert" content="Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
+<style>
+div {
+ font: 10px/1 Ahem;
+}
+.ref {
+ position: absolute;
+ color: red;
+ z-index: -1;
+}
+.ref span { color: green; }
+.test {
+ color: green;
+
+ width: 5ch;
+ white-space: pre-wrap;
+ overflow-wrap: break-word;
+}
+</style>
+
+<p>This test passes if there is a green square and no red.
+<div class="ref">XX<span>XXX</span><br>X<span>XX</span>X<span>X</span><br><span>XXXXX</span><br><span>XXXXX</span><br><span>XXXXX</span></div>
+<div class="test">XX<span> </span><span>X X </span></div>
+
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/transitionevent-interface.html b/tests/wpt/web-platform-tests/css/css-transitions/transitionevent-interface.html
index cd47469ec74..a40ba453751 100644
--- a/tests/wpt/web-platform-tests/css/css-transitions/transitionevent-interface.html
+++ b/tests/wpt/web-platform-tests/css/css-transitions/transitionevent-interface.html
@@ -19,7 +19,7 @@ test(function() {
}, "the event inherts from Event");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TransitionEvent();
}, 'First argument is required, so was expecting a TypeError.');
}, 'Missing type argument');
@@ -185,37 +185,37 @@ test(function() {
}, "elapsedTime set to an object with a valueOf function");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TransitionEvent("test", {elapsedTime: NaN});
}, 'elapsedTime cannot be NaN so was expecting a TypeError');
}, "elapsedTime cannot be set to NaN");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TransitionEvent("test", {elapsedTime: Infinity});
}, 'elapsedTime cannot be Infinity so was expecting a TypeError');
}, "elapsedTime cannot be set to Infinity");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TransitionEvent("test", {elapsedTime: -Infinity});
}, 'elapsedTime cannot be -Infinity so was expecting a TypeError');
}, "elapsedTime cannot be set to -Infinity");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TransitionEvent("test", {elapsedTime: "sample"});
}, 'elapsedTime cannot be a string so was expecting a TypeError');
}, "elapsedTime cannot be set to 'sample'");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TransitionEvent("test", {elapsedTime: [0.5, 1.0]});
}, 'elapsedTime cannot be a multi-element array so was expecting a TypeError');
}, "elapsedTime cannot be set to [0.5, 1.0]");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TransitionEvent("test", {elapsedTime: { sample: 0.5}});
}, 'elapsedTime cannot be an object so was expecting a TypeError');
}, "elapsedTime cannot be set to an object");
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parse-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parse-invalid.html
index ea1d56442b1..13ee2df1a6e 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parse-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parse-invalid.html
@@ -11,23 +11,23 @@
'use strict';
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parse('', 'auto'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parse('', 'auto'));
}, 'CSSStyleValue.parse() with empty property name throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parse('lemon', 'auto'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parse('lemon', 'auto'));
}, 'CSSStyleValue.parse() with unsupported property name throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parse('width', '10deg'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parse('width', '10deg'));
}, 'CSSStyleValue.parse() with invalid value for valid property throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parse('margin', '10deg'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parse('margin', '10deg'));
}, 'CSSStyleValue.parse() with invalid value for shorthand property throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parse('--foo', ''));
+ assert_throws_js(TypeError, () => CSSStyleValue.parse('--foo', ''));
}, 'CSSStyleValue.parse() with invalid value for custom property throws TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-invalid.html
index c1809543559..45fad409bbf 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-objects/parseAll-invalid.html
@@ -11,23 +11,23 @@
'use strict';
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parseAll('', 'auto'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parseAll('', 'auto'));
}, 'CSSStyleValue.parseAll() with empty property name throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parseAll('lemon', 'auto'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parseAll('lemon', 'auto'));
}, 'CSSStyleValue.parseAll() with unsupported property name throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parseAll('width', '10deg'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parseAll('width', '10deg'));
}, 'CSSStyleValue.parseAll() with invalid value for valid property throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parseAll('margin', '10deg'));
+ assert_throws_js(TypeError, () => CSSStyleValue.parseAll('margin', '10deg'));
}, 'CSSStyleValue.parseAll() with invalid value for shorthand property throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSSStyleValue.parseAll('--foo', ''));
+ assert_throws_js(TypeError, () => CSSStyleValue.parseAll('--foo', ''));
}, 'CSSStyleValue.parseAll() with invalid value for custom property throws TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-invalid.html
index b923f380bda..69007a1c590 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-invalid.html
@@ -11,7 +11,7 @@
'use strict';
test(() => {
- assert_throws(new TypeError(), () => new CSSKeywordValue(''));
+ assert_throws_js(TypeError, () => new CSSKeywordValue(''));
}, 'Constructing CSSKeywordValue with an empty string throws a TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-value.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-value.html
index 1af557fb086..ceb39bce5d2 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-value.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssKeywordValue-value.html
@@ -27,7 +27,7 @@ for (const args of gTestArguments) {
test(() => {
let result = new CSSKeywordValue('lemon');
- assert_throws(new TypeError(), () => result.value = '');
+ assert_throws_js(TypeError, () => result.value = '');
assert_equals(result.value, 'lemon', 'value does not change');
}, 'Updating CSSKeywordValue.value with an empty string throws a TypeError');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative.html
index 4fbd7ca0ae4..5edf5bb5b01 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative.html
@@ -20,14 +20,14 @@ const gInvalidTestCases = [
for (const {length, desc} of gInvalidTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSPerspective(length));
+ assert_throws_js(TypeError, () => new CSSPerspective(length));
}, 'Constructing a CSSPerspective with ' + desc + ' throws a TypeError');
}
for (const {length, desc} of gInvalidTestCases) {
test(() => {
let perspective = new CSSPerspective(CSS.px(0));
- assert_throws(new TypeError(), () => perspective.length = length);
+ assert_throws_js(TypeError, () => perspective.length = length);
assert_style_value_equals(perspective.length, CSS.px(0));
}, 'Updating CSSPerspective.length with ' + desc + ' throws a TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html
index d63c0c78694..9ff9f014e19 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPositionValue-invalid.html
@@ -43,13 +43,13 @@ const gTestArguments = [
for (const {value, description} of gTestArguments) {
test(() => {
- assert_throws(new TypeError(), () => new CSSPositionValue(value, CSS.px(0)));
- assert_throws(new TypeError(), () => new CSSPositionValue(CSS.px(0), value));
+ assert_throws_js(TypeError, () => new CSSPositionValue(value, CSS.px(0)));
+ assert_throws_js(TypeError, () => new CSSPositionValue(CSS.px(0), value));
}, `Constructing a CSSPositionValue with ${description} throws a TypeError`);
test(() => {
let position = new CSSPositionValue(CSS.px(0), CSS.px(0));
- assert_throws(new TypeError(), () => position.x = value);
+ assert_throws_js(TypeError, () => position.x = value);
assert_equals(position.x.value, 0,
'X member should not have changed');
@@ -57,7 +57,7 @@ for (const {value, description} of gTestArguments) {
test(() => {
let position = new CSSPositionValue(CSS.px(0), CSS.px(0));
- assert_throws(new TypeError(), () => position.y = value);
+ assert_throws_js(TypeError, () => position.y = value);
assert_equals(position.y.value, 0,
'Y member should not have changed');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative.html
index 17490dcea90..6c234bc4724 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative.html
@@ -20,16 +20,16 @@ const gInvalidCoordTestCases = [
for (const {angle, desc} of gInvalidAngleTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSRotate(angle));
- assert_throws(new TypeError(), () => new CSSRotate(0, 0, 0, angle));
+ assert_throws_js(TypeError, () => new CSSRotate(angle));
+ assert_throws_js(TypeError, () => new CSSRotate(0, 0, 0, angle));
}, 'Constructing a CSSRotate with ' + desc + ' for the angle throws a TypeError');
}
for (const {coord, desc} of gInvalidCoordTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSRotate(coord, 0, 0, CSS.deg(0)));
- assert_throws(new TypeError(), () => new CSSRotate(0, coord, 0, CSS.deg(0)));
- assert_throws(new TypeError(), () => new CSSRotate(0, 0, coord, CSS.deg(0)));
+ assert_throws_js(TypeError, () => new CSSRotate(coord, 0, 0, CSS.deg(0)));
+ assert_throws_js(TypeError, () => new CSSRotate(0, coord, 0, CSS.deg(0)));
+ assert_throws_js(TypeError, () => new CSSRotate(0, 0, coord, CSS.deg(0)));
}, 'Constructing a CSSRotate with ' + desc + ' for the coordinates throws a TypeError');
}
@@ -37,7 +37,7 @@ for (const attr of ['x', 'y', 'z']) {
for (const {value, desc} of gInvalidCoordTestCases) {
test(() => {
let result = new CSSRotate(0, 0, 0, CSS.deg(0));
- assert_throws(new TypeError(), () => result[attr] = value);
+ assert_throws_js(TypeError, () => result[attr] = value);
assert_style_value_equals(result[attr], CSS.number(0));
}, 'Updating CSSRotate.' + attr + ' to ' + desc + ' throws a TypeError');
}
@@ -46,7 +46,7 @@ for (const attr of ['x', 'y', 'z']) {
for (const {angle, desc} of gInvalidAngleTestCases) {
test(() => {
let result = new CSSRotate(CSS.deg(0));
- assert_throws(new TypeError(), () => result.angle = angle);
+ assert_throws_js(TypeError, () => result.angle = angle);
assert_style_value_equals(result.angle, CSS.deg(0));
}, 'Updating CSSRotate.angle to ' + desc + ' throws a TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative.html
index d52a8f1a226..9bbe6c92f11 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative.html
@@ -15,11 +15,11 @@ const gInvalidCoordTestCases = [
for (const {coord, desc} of gInvalidCoordTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSScale(coord, 0));
- assert_throws(new TypeError(), () => new CSSScale(0, coord));
- assert_throws(new TypeError(), () => new CSSScale(coord, 0, 0));
- assert_throws(new TypeError(), () => new CSSScale(0, coord, 0));
- assert_throws(new TypeError(), () => new CSSScale(0, 0, coord));
+ assert_throws_js(TypeError, () => new CSSScale(coord, 0));
+ assert_throws_js(TypeError, () => new CSSScale(0, coord));
+ assert_throws_js(TypeError, () => new CSSScale(coord, 0, 0));
+ assert_throws_js(TypeError, () => new CSSScale(0, coord, 0));
+ assert_throws_js(TypeError, () => new CSSScale(0, 0, coord));
}, 'Constructing a CSSScale with ' + desc + ' for the coordinates throws a TypeError');
}
@@ -27,7 +27,7 @@ for (const attr of ['x', 'y', 'z']) {
for (const {value, desc} of gInvalidCoordTestCases) {
test(() => {
let result = new CSSScale(0, 0, 0);
- assert_throws(new TypeError(), () => result[attr] = value);
+ assert_throws_js(TypeError, () => result[attr] = value);
assert_style_value_equals(result[attr], CSS.number(0));
}, 'Updating CSSScale.' + attr + ' to ' + desc + ' throws a TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkew.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkew.tentative.html
index 2b22d9bcd21..0a410859b22 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkew.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkew.tentative.html
@@ -20,8 +20,8 @@ const gInvalidTestCases = [
for (const {value, desc} of gInvalidTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSSkew(value, CSS.deg(0)));
- assert_throws(new TypeError(), () => new CSSSkew(CSS.deg(0), value));
+ assert_throws_js(TypeError, () => new CSSSkew(value, CSS.deg(0)));
+ assert_throws_js(TypeError, () => new CSSSkew(CSS.deg(0), value));
}, 'Constructing a CSSSkew with ' + desc + ' throws a TypeError');
}
@@ -29,7 +29,7 @@ for (const attr of ['ax', 'ay']) {
for (const {value, desc} of gInvalidTestCases) {
test(() => {
let skew = new CSSSkew(CSS.deg(0), CSS.deg(0));
- assert_throws(new TypeError(), () => skew[attr] = value);
+ assert_throws_js(TypeError, () => skew[attr] = value);
assert_style_value_equals(skew[attr], CSS.deg(0));
}, 'Updating CSSSkew.' + attr + ' with ' + desc + ' throws a TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative.html
index 1e614146563..59d7c064edd 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewX.tentative.html
@@ -20,14 +20,14 @@ const gInvalidTestCases = [
for (const {value, desc} of gInvalidTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSSkewX(value));
+ assert_throws_js(TypeError, () => new CSSSkewX(value));
}, 'Constructing a CSSSkewX with ' + desc + ' throws a TypeError');
}
for (const {value, desc} of gInvalidTestCases) {
test(() => {
let skewX = new CSSSkewX(CSS.deg(0));
- assert_throws(new TypeError(), () => skewX.ax = value);
+ assert_throws_js(TypeError, () => skewX.ax = value);
assert_style_value_equals(skewX.ax, CSS.deg(0));
}, 'Updating CSSSkewX.ax with ' + desc + ' throws a TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative.html
index 643d2f686bb..6a6fe55a976 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssSkewY.tentative.html
@@ -20,14 +20,14 @@ const gInvalidTestCases = [
for (const {value, desc} of gInvalidTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSSkewY(value));
+ assert_throws_js(TypeError, () => new CSSSkewY(value));
}, 'Constructing a CSSSkewY with ' + desc + ' throws a TypeError');
}
for (const {value, desc} of gInvalidTestCases) {
test(() => {
let skewY = new CSSSkewY(CSS.deg(0));
- assert_throws(new TypeError(), () => skewY.ay = value);
+ assert_throws_js(TypeError, () => skewY.ay = value);
assert_style_value_equals(skewY.ay, CSS.deg(0));
}, 'Updating CSSSkewY.ay with ' + desc + ' throws a TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units.html
index 67b63a6b666..432943b6da0 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units.html
@@ -10,7 +10,7 @@
'use strict';
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
return new CSSTranslate(
new CSSUnitValue(1, 'px'),
new CSSUnitValue(1, 'em')
@@ -19,7 +19,7 @@ test(() => {
}, 'CSSTranslate.toMatrix() containing relative units throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
return new CSSPerspective(new CSSUnitValue(1, 'em')).toMatrix();
});
}, 'CSSPerspective.toMatrix() containing relative units throws TypeError');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative.html
index 47dc05dbec6..4c1a4861fe8 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative.html
@@ -10,8 +10,8 @@
'use strict';
test(() => {
- assert_throws(new TypeError(), () => new CSSTransformValue());
- assert_throws(new TypeError(), () => new CSSTransformValue([]));
+ assert_throws_js(TypeError, () => new CSSTransformValue());
+ assert_throws_js(TypeError, () => new CSSTransformValue([]));
}, 'Constructing a CSSTransformValue with no components throws TypeError');
test(() => {
@@ -78,7 +78,7 @@ test(() => {
test(() => {
let transform = new CSSTransformValue([new CSSScale(1, 2)]);
- assert_throws(new TypeError(), () => transform.is2D = false);
+ assert_throws_js(TypeError, () => transform.is2D = false);
assert_equals(transform.is2D, true);
}, 'CSSTransformValue.is2D is readonly');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative.html
index 7ce281d43b6..0554351db3b 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTranslate.tentative.html
@@ -15,21 +15,21 @@ const gInvalidCoordTestCases = [
for (const {coord, desc} of gInvalidCoordTestCases) {
test(() => {
- assert_throws(new TypeError(), () => new CSSTranslate(coord, CSS.px(0), CSS.px(0)));
- assert_throws(new TypeError(), () => new CSSTranslate(CSS.px(0), coord, CSS.px(0)));
- assert_throws(new TypeError(), () => new CSSTranslate(CSS.px(0), CSS.px(0), coord));
+ assert_throws_js(TypeError, () => new CSSTranslate(coord, CSS.px(0), CSS.px(0)));
+ assert_throws_js(TypeError, () => new CSSTranslate(CSS.px(0), coord, CSS.px(0)));
+ assert_throws_js(TypeError, () => new CSSTranslate(CSS.px(0), CSS.px(0), coord));
}, 'Constructing a CSSTranslate with ' + desc + ' for the coordinates throws a TypeError');
}
test(() => {
- assert_throws(new TypeError(), () => new CSSTranslate(CSS.px(0), CSS.px(0), CSS.percent(0)));
+ assert_throws_js(TypeError, () => new CSSTranslate(CSS.px(0), CSS.px(0), CSS.percent(0)));
}, 'Constructing a CSSTranslate with a percent for the Z coordinate throws a TypeError');
for (const attr of ['x', 'y', 'z']) {
for (const {value, desc} of gInvalidCoordTestCases) {
test(() => {
let result = new CSSTranslate(CSS.px(0), CSS.px(0), CSS.px(0));
- assert_throws(new TypeError(), () => result[attr] = value);
+ assert_throws_js(TypeError, () => result[attr] = value);
assert_style_value_equals(result[attr], CSS.px(0));
}, 'Updating CSSTranslate.' + attr + ' to ' + desc + ' throws a TypeError');
}
@@ -37,7 +37,7 @@ for (const attr of ['x', 'y', 'z']) {
test(() => {
let result = new CSSTranslate(CSS.px(0), CSS.px(0), CSS.px(0));
- assert_throws(new TypeError(), () => result.z = CSS.percent(0));
+ assert_throws_js(TypeError, () => result.z = CSS.percent(0));
assert_style_value_equals(result.z, CSS.px(0));
}, 'Updating CSSTranslate.z to a percent throws a TypeError');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter.html
index 9f0403fbae4..65a65ac0dfe 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter.html
@@ -47,7 +47,7 @@ test(() => {
test(() => {
let result = new CSSUnparsedValue(['foo', 'bar']);
- assert_throws(new RangeError(), () => result[3] = 'foo');
+ assert_throws_js(RangeError, () => result[3] = 'foo');
assert_equals(result[3], undefined, 'fragment does not change');
}, 'Setting out of range index in CSSUnparsedValue throws RangeError');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-invalid.html
index 3696e9997ed..4da6a322bd6 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-invalid.html
@@ -11,12 +11,12 @@
'use strict';
test(() => {
- assert_throws(new TypeError(), () => new CSSVariableReferenceValue(''));
+ assert_throws_js(TypeError, () => new CSSVariableReferenceValue(''));
}, 'Constructing a CSSVariableReferenceValue with an empty variable name ' +
'throws a TypeError');
test(() => {
- assert_throws(new TypeError(), () => new CSSVariableReferenceValue('bar'));
+ assert_throws_js(TypeError, () => new CSSVariableReferenceValue('bar'));
}, 'Constructing a CSSVariableReferenceValue with an invalid variable name ' +
'throws SyntaxError');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-variable.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-variable.html
index 236758bf1f2..51b60a8df55 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-variable.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssVariableReferenceValue-variable.html
@@ -18,14 +18,14 @@ test(() => {
test(() => {
let result = new CSSVariableReferenceValue('--foo');
- assert_throws(new TypeError(), () => result.variable = '');
+ assert_throws_js(TypeError, () => result.variable = '');
assert_equals(result.variable, '--foo', 'variable does not change');
}, 'Updating CSSVariableReferenceValue.variable to the empty string ' +
'throws TypeError');
test(() => {
let result = new CSSVariableReferenceValue('--foo');
- assert_throws(new TypeError(), () => result.variable = 'bar');
+ assert_throws_js(TypeError, () => result.variable = 'bar');
assert_equals(result.variable, '--foo', 'variable does not change');
}, 'Updating CSSVariableReferenceValue.variable to an invalid custom ' +
'property name throws TypeError');
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative.html
index 313ff5acfdb..3571d542f8c 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative.html
@@ -13,7 +13,7 @@
test(() => {
const a = new CSSUnitValue(0, 'number');
const b = new CSSUnitValue(0, 'px');
- assert_throws(new TypeError(), () => new CSSMathSum(a, b));
+ assert_throws_js(TypeError, () => new CSSMathSum(a, b));
}, 'Adding two types with different non-null percent hints throws TypeError');
test(() => {
@@ -40,7 +40,7 @@ test(() => {
test(() => {
const a = new CSSMathProduct(new CSSUnitValue(0, 'px'), new CSSUnitValue(0, 'px'));
const b = new CSSUnitValue(0, 'percent');
- assert_throws(new TypeError(), () => new CSSMathSum(a, b));
+ assert_throws_js(TypeError, () => new CSSMathSum(a, b));
}, 'Adding a type with percent 2 returns type with percent hint throws TypeError');
test(() => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative.html
index d58bb075ce2..cb9a7a71027 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative.html
@@ -62,7 +62,7 @@ for (const {methodName, mathType} of gArithmeticOps) {
}, 'Calling ' + mathType.name + '.' + methodName + ' with number CSSUnitValues simplifies to a CSSUnitValue');
test(() => {
- assert_throws(new TypeError(), () => new CSS.px(0)[methodName](CSS.px(1), CSS.s(2)));
+ assert_throws_js(TypeError, () => new CSS.px(0)[methodName](CSS.px(1), CSS.s(2)));
}, 'Calling CSSNumericValue.' + methodName + ' with incompatible types throws TypeError');
}
@@ -145,9 +145,9 @@ test(() => {
}, 'Calling CSSNumericValue.div inverts all argument values');
test(() => {
- assert_throws(new RangeError(), () => CSS.number(2).div(CSS.number(0)));
- assert_throws(new RangeError(), () => CSS.number(3).div(CSS.px(10) ,CSS.number(0)));
- assert_throws(new RangeError(), () => CSS.number(2).div(CSS.number(0), CSS.number(0)));
+ assert_throws_js(RangeError, () => CSS.number(2).div(CSS.number(0)));
+ assert_throws_js(RangeError, () => CSS.number(3).div(CSS.px(10) ,CSS.number(0)));
+ assert_throws_js(RangeError, () => CSS.number(2).div(CSS.number(0), CSS.number(0)));
}, 'Can not divide with CSSUnitValue which has zero value and number type');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative.html
index 574043e84d8..2be200eea95 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative.html
@@ -17,7 +17,7 @@ const gVariadicMathValueSubclasses = [
for (const {subclass, operator} of gVariadicMathValueSubclasses) {
test(() => {
- assert_throws(new SyntaxError(), () => new subclass());
+ assert_throws_dom("SyntaxError", () => new subclass());
}, 'Constructing a ' + subclass.name + ' with no arguments throws a SyntaxError');
test(() => {
@@ -35,7 +35,7 @@ for (const {subclass, operator} of gVariadicMathValueSubclasses) {
test(() => {
let result = new subclass(CSS.number(1), CSS.number(2));
- assert_throws(new TypeError(), () => result.operator = 'foo');
+ assert_throws_js(TypeError, () => result.operator = 'foo');
}, subclass.name + '.operator is readonly');
}
@@ -57,7 +57,7 @@ for (const {subclass, operator} of gUnaryMathValueSubclasses) {
test(() => {
let result = new subclass(CSS.number(1));
- assert_throws(new TypeError(), () => result.operator = 'foo');
+ assert_throws_js(TypeError, () => result.operator = 'foo');
}, subclass.name + '.operator is readonly');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue.html
index 411b36fe1ed..b44c67129fc 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue.html
@@ -11,11 +11,11 @@
'use strict';
test(() => {
- assert_throws(new TypeError(), () => new CSSUnitValue(0, 'lemon'));
+ assert_throws_js(TypeError, () => new CSSUnitValue(0, 'lemon'));
}, 'Constructing CSSUnitValue with an unknown unit throws a TypeError');
test(() => {
- assert_throws(new TypeError(), () => new CSSUnitValue(0, ''));
+ assert_throws_js(TypeError, () => new CSSUnitValue(0, ''));
}, 'Constructing CSSUnitValue with a empty string unit throws a TypeError');
for (const unit of gValidUnits) {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative.html
index 38045ee0fe5..e09c57e641b 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative.html
@@ -13,7 +13,7 @@
test(() => {
const a = new CSSMathSum(new CSSUnitValue(0, 'px'), new CSSUnitValue(0, 'percent'));
const b = new CSSMathSum(new CSSUnitValue(0, 's'), new CSSUnitValue(0, 'percent'));
- assert_throws(new TypeError(), () => new CSSMathProduct(a, b));
+ assert_throws_js(TypeError, () => new CSSMathProduct(a, b));
}, 'Multiplying two types with different non-null percent hints throws TypeError');
test(() => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative.html
index c4904ded6b6..9b9f2f601ae 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/parse.tentative.html
@@ -8,19 +8,19 @@
'use strict';
test(() => {
- assert_throws(new SyntaxError(), () => CSSNumericValue.parse('%#('));
+ assert_throws_dom("SyntaxError", () => CSSNumericValue.parse('%#('));
}, 'Parsing an invalid string throws SyntaxError');
test(() => {
- assert_throws(new SyntaxError(), () => CSSNumericValue.parse('auto'));
+ assert_throws_dom("SyntaxError", () => CSSNumericValue.parse('auto'));
}, 'Parsing a string with a non numeric token throws SyntaxError');
test(() => {
- assert_throws(new SyntaxError(), () => CSSNumericValue.parse('1 2'));
+ assert_throws_dom("SyntaxError", () => CSSNumericValue.parse('1 2'));
}, 'Parsing a string with left over numeric tokens throws SyntaxError');
test(() => {
- assert_throws(new SyntaxError(), () => CSSNumericValue.parse('calc(calc(1px * 2s) + 3%)'));
+ assert_throws_dom("SyntaxError", () => CSSNumericValue.parse('calc(calc(1px * 2s) + 3%)'));
}, 'Parsing a calc with incompatible units throws a SyntaxError');
test(() => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative.html
index 57ac63118c4..bf78c509c8d 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative.html
@@ -8,19 +8,19 @@
'use strict';
test(() => {
- assert_throws(new SyntaxError(), () => CSS.px(1).to('lemon'));
+ assert_throws_dom("SyntaxError", () => CSS.px(1).to('lemon'));
}, 'Converting a CSSUnitValue to an invalid unit throws SyntaxError');
test(() => {
- assert_throws(new TypeError(), () => new CSSMathMax(1, CSS.px(1)).to('number'));
+ assert_throws_js(TypeError, () => new CSSMathMax(1, CSS.px(1)).to('number'));
}, 'Converting a CSSNumericValue with invalid sum value throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => new CSSMathProduct(CSS.px(1), CSS.s(1)).to('number'));
+ assert_throws_js(TypeError, () => new CSSMathProduct(CSS.px(1), CSS.s(1)).to('number'));
}, 'Converting a CSSNumericValue with sum value containing more than one value throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSS.px(1).to('number'));
+ assert_throws_js(TypeError, () => CSS.px(1).to('number'));
}, 'Converting a CSSUnitValue to an incompatible unit throws TypeError');
test(() => {
@@ -52,8 +52,8 @@ test(() => {
}, 'Converting a CSSMathMin to a single unit finds the min value');
test(() => {
- assert_throws(new TypeError(), () => new CSSMathMin(CSS.px(2), CSS.s(3)).to('px'));
- assert_throws(new TypeError(), () => new CSSMathMin(CSS.px(2), 3).to('px'));
+ assert_throws_js(TypeError, () => new CSSMathMin(CSS.px(2), CSS.s(3)).to('px'));
+ assert_throws_js(TypeError, () => new CSSMathMin(CSS.px(2), 3).to('px'));
}, 'Converting a CSSMathMin to a single unit with different units throws a TypeError');
test(() => {
@@ -61,8 +61,8 @@ test(() => {
}, 'Converting a CSSMathMax to a single unit finds the max value');
test(() => {
- assert_throws(new TypeError(), () => new CSSMathMax(CSS.px(2), CSS.s(3)).to('px'));
- assert_throws(new TypeError(), () => new CSSMathMax(CSS.px(2), 3).to('px'));
+ assert_throws_js(TypeError, () => new CSSMathMax(CSS.px(2), CSS.s(3)).to('px'));
+ assert_throws_js(TypeError, () => new CSSMathMax(CSS.px(2), 3).to('px'));
}, 'Converting a CSSMathMax to a single unit with different units throws a TypeError');
test(() => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative.html
index 3d67f7d88bc..1e5e1c9b76a 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/toSum.tentative.html
@@ -8,27 +8,27 @@
'use strict';
test(() => {
- assert_throws(new SyntaxError(), () => CSS.px(1).toSum('px', 'lemon'));
+ assert_throws_dom("SyntaxError", () => CSS.px(1).toSum('px', 'lemon'));
}, 'Converting a CSSNumericValue to a sum with invalid units throws SyntaxError');
test(() => {
- assert_throws(new TypeError(), () => new CSSMathMax(1, CSS.px(1)).toSum('number'));
+ assert_throws_js(TypeError, () => new CSSMathMax(1, CSS.px(1)).toSum('number'));
}, 'Converting a CSSNumericValue with an invalid sum value to a sum throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => new CSSMathProduct(CSS.px(1), CSS.px(1)).to('px'));
+ assert_throws_js(TypeError, () => new CSSMathProduct(CSS.px(1), CSS.px(1)).to('px'));
}, 'Converting a CSSNumericValue with compound units to a sum throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSS.px(1).toSum('number'));
+ assert_throws_js(TypeError, () => CSS.px(1).toSum('number'));
}, 'Converting a CSSNumericValue to a sum with an incompatible unit throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => CSS.px(1).toSum('px', 's'));
+ assert_throws_js(TypeError, () => CSS.px(1).toSum('px', 's'));
}, 'Converting a CSSNumericValue to a sum with units that are not addable throws TypeError');
test(() => {
- assert_throws(new TypeError(), () => new CSSMathSum(CSS.px(1), CSS.em(1)).toSum('px'));
+ assert_throws_js(TypeError, () => new CSSMathSum(CSS.px(1), CSS.em(1)).toSum('px'));
}, 'Converting a CSSNumericValue with leftover units to a sum throws TypeError');
test(() => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-invalid.html
index 8117d18b764..403c2691f40 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-invalid.html
@@ -12,7 +12,7 @@
test(t => {
const styleMap = createComputedStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.get('lemon'));
+ assert_throws_js(TypeError, () => styleMap.get('lemon'));
}, 'Calling StylePropertyMap.get with an unsupported property throws a TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/getAll.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/getAll.tentative.html
index ca7d3b6a65f..1673a52bc0c 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/getAll.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/getAll.tentative.html
@@ -11,7 +11,7 @@
test(t => {
const styleMap = createComputedStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.getAll('lemon'));
+ assert_throws_js(TypeError, () => styleMap.getAll('lemon'));
}, 'Calling StylePropertyMap.getAll with an unsupported property throws a TypeError');
test(t => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/has.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/has.tentative.html
index d387304d43a..53924c4a483 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/has.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/has.tentative.html
@@ -11,7 +11,7 @@
test(t => {
const styleMap = createComputedStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.has('lemon'));
+ assert_throws_js(TypeError, () => styleMap.has('lemon'));
}, 'Calling StylePropertyMap.has with an unsupported property throws a TypeError');
const gTestCases = [
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html
index 3f94a899ea5..ced6e81aaad 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html
@@ -24,7 +24,7 @@ const gInvalidTestCases = [
for (const {property, values, desc} of gInvalidTestCases) {
test(t => {
let styleMap = createDeclaredStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.append(property, ...values));
+ assert_throws_js(TypeError, () => styleMap.append(property, ...values));
}, 'Calling StylePropertyMap.append with ' + desc + ' throws TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/delete-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/delete-invalid.html
index 547ea269762..04dcccf5e89 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/delete-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/delete-invalid.html
@@ -12,7 +12,7 @@
test(t => {
let styleMap = createDeclaredStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.delete('lemon'));
+ assert_throws_js(TypeError, () => styleMap.delete('lemon'));
}, 'Deleting an unsupported property name throws a TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/get-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/get-invalid.html
index a91d1978130..0cd1412945b 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/get-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/get-invalid.html
@@ -12,7 +12,7 @@
test(t => {
const styleMap = createDeclaredStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.get('lemon'));
+ assert_throws_js(TypeError, () => styleMap.get('lemon'));
}, 'Calling StylePropertyMap.get with an unsupported property throws a TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/getAll.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/getAll.tentative.html
index dd4e90b22f4..97baf08a784 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/getAll.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/getAll.tentative.html
@@ -11,7 +11,7 @@
test(t => {
const styleMap = createDeclaredStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.getAll('lemon'));
+ assert_throws_js(TypeError, () => styleMap.getAll('lemon'));
}, 'Calling StylePropertyMap.getAll with an unsupported property throws a TypeError');
test(t => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/has.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/has.tentative.html
index 93d29d94c3f..6ea24c7ea9f 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/has.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/has.tentative.html
@@ -11,7 +11,7 @@
test(t => {
const styleMap = createDeclaredStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.has('lemon'));
+ assert_throws_js(TypeError, () => styleMap.has('lemon'));
}, 'Calling StylePropertyMap.has with an unsupported property throws a TypeError');
const gTestCases = [
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set-shorthand.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set-shorthand.html
index 2d6ec13ffc2..7a025df6479 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set-shorthand.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set-shorthand.html
@@ -17,7 +17,7 @@ const gInvalidTestCases = [
for (const {property, values, desc} of gInvalidTestCases) {
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set(property, ...values));
+ assert_throws_js(TypeError, () => styleMap.set(property, ...values));
}, 'Setting a shorthand with ' + desc + ' on css rule throws TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html
index 6161f94d53c..d9c24fafc22 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html
@@ -19,23 +19,23 @@ const gInvalidTestCases = [
for (const {property, values, desc} of gInvalidTestCases) {
test(t => {
let styleMap = createDeclaredStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set(property, ...values));
+ assert_throws_js(TypeError, () => styleMap.set(property, ...values));
}, 'Setting a StylePropertyMap with ' + desc + ' throws TypeError');
}
test(t => {
let styleMap = createDeclaredStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set('width', CSS.px(10), CSS.px(10)));
+ assert_throws_js(TypeError, () => styleMap.set('width', CSS.px(10), CSS.px(10)));
}, 'Setting a non list-valued property with multiple arguments throws TypeError');
test(t => {
let styleMap = createDeclaredStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set('width', '1s, 2s'));
+ assert_throws_js(TypeError, () => styleMap.set('width', '1s, 2s'));
}, 'Setting a non list-valued property with list-valued string throws TypeError');
test(t => {
let styleMap = createDeclaredStyleMap(t, '');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
styleMap.set('transition-duration', '1s', new CSSUnparsedValue([]));
});
}, 'Setting a list-valued property with a CSSUnparsedValue and other ' +
@@ -43,7 +43,7 @@ test(t => {
test(t => {
let styleMap = createDeclaredStyleMap(t, '');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
styleMap.set('transition-duration', '1s', 'var(--A)');
});
}, 'Setting a list-valued property with a var ref() and other values ' +
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html
index 36c14d76b6e..ee9a9e4ddbc 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html
@@ -24,7 +24,7 @@ const gInvalidTestCases = [
for (const {property, values, desc} of gInvalidTestCases) {
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.append(property, ...values));
+ assert_throws_js(TypeError, () => styleMap.append(property, ...values));
}, 'Calling StylePropertyMap.append with ' + desc + ' throws TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/delete-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/delete-invalid.html
index cc2657ecbdc..a4f1b620b03 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/delete-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/delete-invalid.html
@@ -12,7 +12,7 @@
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.delete('lemon'));
+ assert_throws_js(TypeError, () => styleMap.delete('lemon'));
}, 'Deleting an unsupported property name throws a TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-invalid.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-invalid.html
index b847567008c..07f4a6dc7c4 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/get-invalid.html
@@ -12,7 +12,7 @@
test(t => {
const styleMap = createInlineStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.get('lemon'));
+ assert_throws_js(TypeError, () => styleMap.get('lemon'));
}, 'Calling StylePropertyMap.get with an unsupported property throws a TypeError');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/getAll.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/getAll.tentative.html
index c7e370086db..935417ddcc0 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/getAll.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/getAll.tentative.html
@@ -11,7 +11,7 @@
test(t => {
const styleMap = createInlineStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.getAll('lemon'));
+ assert_throws_js(TypeError, () => styleMap.getAll('lemon'));
}, 'Calling StylePropertyMap.getAll with an unsupported property throws a TypeError');
test(t => {
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/has.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/has.tentative.html
index d2528831d85..0427d5a606a 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/has.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/has.tentative.html
@@ -11,7 +11,7 @@
test(t => {
const styleMap = createInlineStyleMap(t);
- assert_throws(new TypeError(), () => styleMap.has('lemon'));
+ assert_throws_js(TypeError, () => styleMap.has('lemon'));
}, 'Calling StylePropertyMap.has with an unsupported property throws a TypeError');
const gTestCases = [
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set-shorthand.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set-shorthand.html
index e00d07cc502..87ecadcb75c 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set-shorthand.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set-shorthand.html
@@ -17,7 +17,7 @@ const gInvalidTestCases = [
for (const {property, values, desc} of gInvalidTestCases) {
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set(property, ...values));
+ assert_throws_js(TypeError, () => styleMap.set(property, ...values));
}, 'Setting a shorthand with ' + desc + ' on inline style throws TypeError');
}
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html
index 411323a2f0c..048ad87e8b1 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html
@@ -19,23 +19,23 @@ const gInvalidTestCases = [
for (const {property, values, desc} of gInvalidTestCases) {
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set(property, ...values));
+ assert_throws_js(TypeError, () => styleMap.set(property, ...values));
}, 'Setting a StylePropertyMap with ' + desc + ' throws TypeError');
}
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set('width', CSS.px(10), CSS.px(10)));
+ assert_throws_js(TypeError, () => styleMap.set('width', CSS.px(10), CSS.px(10)));
}, 'Setting a non list-valued property with multiple arguments throws TypeError');
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => styleMap.set('width', '1s, 2s'));
+ assert_throws_js(TypeError, () => styleMap.set('width', '1s, 2s'));
}, 'Setting a non list-valued property with list-valued string throws TypeError');
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
styleMap.set('transition-duration', '1s', new CSSUnparsedValue([]));
});
}, 'Setting a list-valued property with a CSSUnparsedValue and other ' +
@@ -43,7 +43,7 @@ test(t => {
test(t => {
let styleMap = createInlineStyleMap(t, '');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
styleMap.set('transition-duration', '1s', 'var(--A)');
});
}, 'Setting a list-valued property with a var ref() and other values ' +
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js
index 3ca0b55f3f1..27042c787a1 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js
@@ -357,7 +357,7 @@ function testPropertyInvalid(propertyName, examples, description) {
test(t => {
let styleMap = createInlineStyleMap(t);
for (const example of examples) {
- assert_throws(new TypeError(), () => styleMap.set(propertyName, example.input));
+ assert_throws_js(TypeError, () => styleMap.set(propertyName, example.input));
}
}, `Setting '${propertyName}' to ${description} throws TypeError`);
}
diff --git a/tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html b/tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html
new file mode 100644
index 00000000000..6a60bdfa64d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Length unit 'ch' used in pseudo elements should be recalculated after loading a web font</title>
+<link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths">
+<link rel="help" href="https://drafts.csswg.org/css-pseudo-4">
+<link rel="author" href="xiaochengh@chromium.org">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+.container {
+ font: 25px/1 "custom font", monospace;
+}
+
+.before::before,
+.after::after,
+.first-letter::first-letter,
+.first-line::first-line {
+ font-family: monospace;
+ font-size: 1ch; /* Refers to originating element's font metrics, which are different from self font metrics. */
+}
+
+.before::before,
+.after::after {
+ content: 'text';
+}
+
+/* Defined separately so that browsers that haven't shipped it can still pass other tests. */
+.marker::marker {
+ font-family: monospace;
+ font-size: 1ch;
+ content: 'text';
+}
+
+</style>
+
+<div class="container before"></div>
+<div class="container after"></div>
+<div class="container first-letter">text</div>
+<div class="container first-line">text</div>
+<li class="container marker"></li>
+
+<script>
+function parseFontSizeInPx(element, pseudoElement) {
+ const value = CSSNumericValue.parse(getComputedStyle(element, pseudoElement).fontSize);
+ if (!value || !(value instanceof CSSUnitValue) || value.unit !== 'px')
+ throw 'Cannot parse width in pixels';
+ return value.value;
+}
+
+const testCases = ['before', 'after', 'first-letter', 'first-line', 'marker'];
+const elements = testCases.map(testCase => document.querySelector('.' + testCase));
+const asyncTests = testCases.map(
+ testCase => async_test(`ch in pseudo-element ::${testCase} should be recalculated after loading a web font`));
+
+// Before loading custom font, tests should be rendered with monospace
+// fallback and have a '1ch' measurement much shorter than 25px.
+for (let i = 0; i < testCases.length; ++i) {
+ asyncTests[i].step(() => {
+ const fontSizePx = parseFontSizeInPx(elements[i], '::' + testCases[i]);
+ assert_less_than(fontSizePx, 24);
+ });
+}
+
+// Insert custom font into style sheet and load it
+const customFont = new FontFace('custom font', 'url(/fonts/Ahem.ttf)');
+document.fonts.add(customFont);
+
+// After loading custom font, tests should be rendered with the custom font,
+// which is Ahem, and have a '1ch' measurement that equals 25px.
+customFont.load().then(
+ () => {
+ for (let i = 0; i < testCases.length; ++i) {
+ asyncTests[i].step(() => {
+ const fontSizePx = parseFontSizeInPx(elements[i], '::' + testCases[i]);
+ assert_approx_equals(fontSizePx, 25, 0.1);
+ asyncTests[i].done();
+ });
+ }
+ },
+ () => {
+ for (let i = 0; i < testCases.length; ++i) {
+ asyncTests[i].step(() => {
+ assert_unreached('Failed to load font');
+ });
+ }
+ }
+);
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-parameters.html b/tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-parameters.html
index 899e411bdd3..35afec994ee 100644
--- a/tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-parameters.html
+++ b/tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-parameters.html
@@ -7,10 +7,10 @@ document.elementsFromPoint() are mandatory and of type double.</title>
<script>
function validate_function_parameter_count(testFunc, funcName) {
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
testFunc();
}, "Called with no parameter");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
testFunc(0);
}, "Called with 1 parameter");
}, funcName + ": Parameters are mandatory.");
@@ -18,16 +18,16 @@ function validate_function_parameter_count(testFunc, funcName) {
function validate_function_parameter_type(testFunc, funcName) {
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
testFunc(0, Infinity);
}, "Passing Infinity as second parameter throws");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
testFunc(Infinity, 0);
}, "Passing Infinity as first parameter throws");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
testFunc(0, NaN);
}, "Passing NaN as second parameter throws");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
testFunc(NaN, 0);
}, "Passing NaN as first parameter throws");
}, funcName + ": Parameters should be finite floating point values.");
diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html b/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html
index 2364465f837..d131e3975d2 100644
--- a/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html
+++ b/tests/wpt/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html
@@ -68,7 +68,7 @@
var groupingRule = create(t);
var first = groupingRule.cssRules[0].cssText;
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
// The syntax error is intentional; it verifies that the insertion
// index is validated prior to the CSS text.
groupingRule.insertRule('???', 2);
@@ -82,7 +82,7 @@
var groupingRule = create(t);
var first = groupingRule.cssRules[0].cssText;
- assert_throws('SyntaxError', function() {
+ assert_throws_dom('SyntaxError', function() {
groupingRule.insertRule('???', 0);
});
@@ -94,7 +94,7 @@
var groupingRule = create(t);
var first = groupingRule.cssRules[0].cssText;
- assert_throws('HierarchyRequestError', function() {
+ assert_throws_dom('HierarchyRequestError', function() {
groupingRule.insertRule('@import url("foo.css");', 0);
});
@@ -106,7 +106,7 @@
var groupingRule = create(t);
var first = groupingRule.cssRules[0].cssText;
- assert_throws('HierarchyRequestError', function() {
+ assert_throws_dom('HierarchyRequestError', function() {
groupingRule.insertRule('@namespace url(http://www.w3.org/1999/xhtml);', 0);
});
diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html
index 6d1f4ae6519..215095fcc3e 100644
--- a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html
+++ b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html
@@ -344,7 +344,7 @@ promise_test(() => {
const plainSheet = new CSSStyleSheet();
const redStyleSheetPromise = plainSheet.replace(redStyleTexts[0]);
return redStyleSheetPromise.then(function(redStyleSheet) {
- assert_throws('NotAllowedError', () => { iframe.contentDocument.adoptedStyleSheets = [redStyleSheet]; });
+ assert_throws_dom('NotAllowedError', () => { iframe.contentDocument.adoptedStyleSheets = [redStyleSheet]; });
assert_equals(getComputedStyle(greenIframeSpan).color, "rgb(0, 0, 0)");
assert_equals(getComputedStyle(redIframeSpan).color, "rgb(0, 0, 0)");
assert_equals(getComputedStyle(blueIframeSpan).color, "rgb(0, 0, 0)");
@@ -396,7 +396,7 @@ promise_test(() => {
const iframePlainSheet = new iframe.contentWindow.CSSStyleSheet();
const iframeRedStyleSheetPromise = iframePlainSheet.replace(redStyleTexts[0]);
return iframeRedStyleSheetPromise.then(function(iframeRedStyleSheet) {
- assert_throws('NotAllowedError', () => { document.adoptedStyleSheets = [iframeRedStyleSheet]; });
+ assert_throws_dom('NotAllowedError', () => { document.adoptedStyleSheets = [iframeRedStyleSheet]; });
assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
assert_equals(getComputedStyle(redSpan).color, "rgb(0, 0, 0)");
assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
@@ -433,7 +433,7 @@ const nonConstructedStyleSheet = nonConstructedStyle.sheet;
test(() => {
assert_equals(getComputedStyle(divNonConstructed).color, "rgb(0, 0, 0)");
- assert_throws('NotAllowedError', () => { document.adoptedStyleSheets = [nonConstructedStyleSheet]; });
+ assert_throws_dom('NotAllowedError', () => { document.adoptedStyleSheets = [nonConstructedStyleSheet]; });
}, 'Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet is in the same document tree as the AdoptedStyleSheets');
test(() => {
@@ -444,7 +444,7 @@ test(() => {
iframe.contentDocument.body.appendChild(iframeDiv);
assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
- assert_throws('NotAllowedError', () => { iframe.contentDocument.adoptedStyleSheets = [nonConstructedStyleSheet]; });
+ assert_throws_dom('NotAllowedError', () => { iframe.contentDocument.adoptedStyleSheets = [nonConstructedStyleSheet]; });
assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
iframeStyle = iframe.contentDocument.createElement("style");
@@ -456,7 +456,7 @@ test(() => {
divNonConstructed.appendChild(nonConstructedSpan);
assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
- assert_throws('NotAllowedError', () => { document.adoptedStyleSheets = [iframeStyleSheet]; });
+ assert_throws_dom('NotAllowedError', () => { document.adoptedStyleSheets = [iframeStyleSheet]; });
assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
}, 'Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet and the AdoptedStyleSheets are in different document trees');
@@ -503,18 +503,18 @@ test(() => {
const import_text = '@import url("support/constructable-import.css");';
test(() => {
- assert_throws("NotAllowedError", () => { (new CSSStyleSheet).replaceSync(import_text) });
+ assert_throws_dom("NotAllowedError", () => { (new CSSStyleSheet).replaceSync(import_text) });
}, 'CSSStyleSheet.replaceSync throws exception when there is import rule inside');
test(() => {
- assert_throws("NotAllowedError", () => { (new CSSStyleSheet).insertRule(import_text) });
+ assert_throws_dom("NotAllowedError", () => { (new CSSStyleSheet).insertRule(import_text) });
}, 'Inserting an @import rule through insertRule on a constructed stylesheet throws an exception');
async_test(t => {
const importUrl = "support/constructable-import.css";
const sheet = new CSSStyleSheet();
- assert_throws("NotAllowedError", () => { sheet.replaceSync(`@import url("${importUrl}");`) });
+ assert_throws_dom("NotAllowedError", () => { sheet.replaceSync(`@import url("${importUrl}");`) });
const timeAfterReplaceSync = performance.now();
let link = document.createElement("link");
diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet.html b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet.html
index d38efc28023..c744382b55e 100644
--- a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet.html
+++ b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet.html
@@ -49,7 +49,7 @@
}, 'insertRule with no argument throws');
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
styleSheet.insertRule("#bar { margin: 10px; }", styleSheet.cssRules.length + 1)
});
}, 'insertRule with index greater than length throws');
@@ -69,7 +69,7 @@
}, 'deleteRule with no argument throws');
test(function() {
- assert_throws("IndexSizeError", function() { emptyStyleSheet.deleteRule(0) });
+ assert_throws_dom("IndexSizeError", function() { emptyStyleSheet.deleteRule(0) });
}, 'deleteRule on empty style sheet throws');
test(function() {
@@ -79,7 +79,7 @@
}, 'removeRule with no argument removes first rule');
test(function() {
- assert_throws("IndexSizeError", function() { emptyStyleSheet.removeRule(0) });
+ assert_throws_dom("IndexSizeError", function() { emptyStyleSheet.removeRule(0) });
}, 'removeRule on empty style sheet throws');
test(function() {
@@ -111,7 +111,7 @@
}, 'addRule with no argument adds "undefined" selector');
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
styleSheet.addRule("#foo", "color: red", styleSheet.cssRules.length + 1);
});
}, 'addRule with index greater than length throws');
diff --git a/tests/wpt/web-platform-tests/css/cssom/at-namespace.html b/tests/wpt/web-platform-tests/css/cssom/at-namespace.html
index 04a8a2289aa..b1c76f3c58a 100644
--- a/tests/wpt/web-platform-tests/css/cssom/at-namespace.html
+++ b/tests/wpt/web-platform-tests/css/cssom/at-namespace.html
@@ -11,11 +11,11 @@
<div>Should be green</div>
<script>
test(function() {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
s.sheet.insertRule('@namespace myhtml url("http://www.w3.org/1999/xhtml")', 0);
});
assert_equals(s.sheet.cssRules.length, 1, "Shouldn't have been inserted");
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
s.sheet.insertRule("myhtml|div { color: red !important }", 0);
});
assert_equals(s.sheet.cssRules.length, 1);
diff --git a/tests/wpt/web-platform-tests/css/cssom/computed-style-001.html b/tests/wpt/web-platform-tests/css/cssom/computed-style-001.html
index d637b066b03..e487981e305 100644
--- a/tests/wpt/web-platform-tests/css/cssom/computed-style-001.html
+++ b/tests/wpt/web-platform-tests/css/cssom/computed-style-001.html
@@ -36,13 +36,13 @@
// do not allow modifications to a computed CSSStyleDeclaration
test(function() {
innerStyle = window.getComputedStyle(inner);
- assert_throws( "NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom( "NO_MODIFICATION_ALLOWED_ERR",
function() { innerStyle.cssText = "color: blue;"; },
"do not allow setting cssText on a readonly CSSStyleDeclaration");
- assert_throws( "NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom( "NO_MODIFICATION_ALLOWED_ERR",
function() { innerStyle.setProperty("color", "blue"); },
"do not allow calling setProperty on a readonly CSSStyleDeclaration");
- assert_throws( "NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom( "NO_MODIFICATION_ALLOWED_ERR",
function() { innerStyle.color = "blue"; },
"do not allow setting a property on a readonly CSSStyleDeclaration");
}, "read_only");
diff --git a/tests/wpt/web-platform-tests/css/cssom/computed-style-set-property.html b/tests/wpt/web-platform-tests/css/cssom/computed-style-set-property.html
index 0a5e4cb0589..a1f1380dccc 100644
--- a/tests/wpt/web-platform-tests/css/cssom/computed-style-set-property.html
+++ b/tests/wpt/web-platform-tests/css/cssom/computed-style-set-property.html
@@ -11,25 +11,25 @@ test(function(t) {
}, "Computed style parent (should be null)");
test(function(t) {
- assert_throws("NoModificationAllowedError", function() {
+ assert_throws_dom("NoModificationAllowedError", function() {
document.defaultView.getComputedStyle(document.body, null).color = "blue";
});
}, "Exception thrown when trying to change a computed style declaration via property");
test(function(t) {
- assert_throws("NoModificationAllowedError", function() {
+ assert_throws_dom("NoModificationAllowedError", function() {
document.defaultView.getComputedStyle(document.body, null).setProperty("color", "blue");
});
}, "Exception thrown when trying to change a computed style declaration via setProperty");
test(function(t) {
- assert_throws("NoModificationAllowedError", function() {
+ assert_throws_dom("NoModificationAllowedError", function() {
document.defaultView.getComputedStyle(document.body, null).webkitTransition = "";
});
}, "Exception thrown when trying to change a computed style alias via property");
test(function(t) {
- assert_throws("NoModificationAllowedError", function() {
+ assert_throws_dom("NoModificationAllowedError", function() {
document.defaultView.getComputedStyle(document.body, null).setProperty("webkitTransition", "");
});
}, "Exception thrown when trying to change a computed style alias via setProperty");
diff --git a/tests/wpt/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html b/tests/wpt/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html
index e7bde1bda63..1e0489ee97b 100644
--- a/tests/wpt/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html
+++ b/tests/wpt/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html
@@ -39,7 +39,7 @@
var elem = document.getElementById('box');
var style = getComputedStyle(elem, 'width');
- assert_throws('NO_MODIFICATION_ALLOWED_ERR', function(){
+ assert_throws_dom('NO_MODIFICATION_ALLOWED_ERR', function(){
style.width = '10px';
});
diff --git a/tests/wpt/web-platform-tests/css/cssom/escape.html b/tests/wpt/web-platform-tests/css/cssom/escape.html
index 115e2c86a9a..721c6ea3557 100644
--- a/tests/wpt/web-platform-tests/css/cssom/escape.html
+++ b/tests/wpt/web-platform-tests/css/cssom/escape.html
@@ -8,7 +8,7 @@
<script>
test(function() {
assert_equals(CSS.escape.length, 1);
- assert_throws(new TypeError(), function() { CSS.escape(); });
+ assert_throws_js(TypeError, function() { CSS.escape(); });
}, "Number of arguments");
test(function() {
diff --git a/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-pseudo.html b/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-pseudo.html
index 340f9eed9b9..1795bcf2ba4 100644
--- a/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-pseudo.html
+++ b/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-pseudo.html
@@ -138,7 +138,7 @@ test(function() {
}, "Dynamically change to display: contents on pseudo-elements");
test(function() {
var div = document.getElementById('test');
- assert_throws(new TypeError(), () => getComputedStyle(div, "totallynotapseudo"),
+ assert_throws_js(TypeError, () => getComputedStyle(div, "totallynotapseudo"),
"getComputedStyle with an unknown pseudo-element throws");
}, "Unknown pseudo-elements throw");
</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html b/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html
index ad3622f86aa..45481e71f4f 100644
--- a/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html
+++ b/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html
@@ -18,13 +18,13 @@
var sheet = document.getElementById("styleElement").sheet;
test(function() {
assert_equals(sheet.cssRules.length, 1);
- assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
+ assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
assert_equals(sheet.cssRules.length, 1);
}, "insertRule with import and omitted index argument");
test(function() {
assert_equals(sheet.cssRules.length, 1);
- assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
+ assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
assert_equals(sheet.cssRules.length, 1);
assert_equals(sheet.cssRules.item(0).cssText, "@import url(\"support/a-green.css\");");
}, "insertRule with import and undefined index argument");
diff --git a/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html b/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html
index c1628eed85f..3265159736e 100644
--- a/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html
+++ b/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html
@@ -20,13 +20,13 @@
var sheet = document.getElementById("styleElement").sheet;
test(function() {
assert_equals(sheet.cssRules.length, 3);
- assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
+ assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
assert_equals(sheet.cssRules.length, 3);
}, "insertRule with namespace and omitted index argument");
test(function() {
assert_equals(sheet.cssRules.length, 3);
- assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
+ assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
assert_equals(sheet.cssRules.length, 3);
}, "insertRule with namespace and undefined index argument");
diff --git a/tests/wpt/web-platform-tests/css/cssom/insertRule-syntax-error-01.html b/tests/wpt/web-platform-tests/css/cssom/insertRule-syntax-error-01.html
index 170213c8bad..4461a9a9432 100644
--- a/tests/wpt/web-platform-tests/css/cssom/insertRule-syntax-error-01.html
+++ b/tests/wpt/web-platform-tests/css/cssom/insertRule-syntax-error-01.html
@@ -8,7 +8,7 @@ p { color: green; }
<p id="test">This text should be green.</p>
<script>
test(function() {
- assert_throws("SyntaxError", () => document.styleSheets[0].insertRule("p { color: red; } garbage", 1));
+ assert_throws_dom("SyntaxError", () => document.styleSheets[0].insertRule("p { color: red; } garbage", 1));
assert_equals(getComputedStyle(document.getElementById("test")).color, "rgb(0, 128, 0)");
}, "A syntax error in insertRule should throw and not affect the style of the page");
</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/medialist-interfaces-002.html b/tests/wpt/web-platform-tests/css/cssom/medialist-interfaces-002.html
index 210ace1393a..0d2ca2e9c71 100644
--- a/tests/wpt/web-platform-tests/css/cssom/medialist-interfaces-002.html
+++ b/tests/wpt/web-platform-tests/css/cssom/medialist-interfaces-002.html
@@ -59,7 +59,7 @@
media_list.appendMedium("all");
- assert_throws("NotFoundError", () => media_list.deleteMedium("screen"));
+ assert_throws_dom("NotFoundError", () => media_list.deleteMedium("screen"));
assert_equals(media_list.length, 1);
assert_equals(media_list.item(0), "all");
diff --git a/tests/wpt/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html b/tests/wpt/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html
index ef714670f54..6ad55190dab 100644
--- a/tests/wpt/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html
+++ b/tests/wpt/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html
@@ -35,18 +35,18 @@
}
function doOriginDirtyCheck(sheet) {
- assert_throws("SecurityError",
+ assert_throws_dom("SecurityError",
function () {
sheet.cssRules;
},
'stylesheet.cssRules should throw SecurityError.');
- assert_throws("SecurityError",
+ assert_throws_dom("SecurityError",
function () {
sheet.insertRule("#test { margin: 10px; }", 1);
},
'stylesheet.insertRule should throw SecurityError.');
- assert_throws("SecurityError",
+ assert_throws_dom("SecurityError",
function () {
sheet.deleteRule(0);
},
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/svgfeblendelement-mode-001.html b/tests/wpt/web-platform-tests/css/filter-effects/svgfeblendelement-mode-001.html
index 8c9e3ea0580..f27a23f51a2 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/svgfeblendelement-mode-001.html
+++ b/tests/wpt/web-platform-tests/css/filter-effects/svgfeblendelement-mode-001.html
@@ -57,15 +57,15 @@ test(function() {
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
- assert_throws(new TypeError(), function() { element.mode.baseVal = 17; });
+ assert_throws_js(TypeError, function() { element.mode.baseVal = 17; });
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
- assert_throws(new TypeError(), function() { element.mode.baseVal = -1; });
+ assert_throws_js(TypeError, function() { element.mode.baseVal = -1; });
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
- assert_throws(new TypeError(), function() { element.mode.baseVal = 0; });
+ assert_throws_js(TypeError, function() { element.mode.baseVal = 0; });
assert_equals(element.mode.baseVal, SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN);
assert_equals(element.getAttribute('mode'), "lighten");
}, document.title + ", setter, invalid value");
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-001.html b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-001.html
index a42adb4425f..1752c2c5cae 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-001.html
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-001.html
@@ -139,7 +139,7 @@
'unset',
].forEach(function(string) {
test(function() {
- assert_throws('SyntaxError', function() { new self[constr](string); });
+ assert_throws_dom('SyntaxError', function() { new self[constr](string); });
}, `new ${constr}(${format_value(string)})`);
});
@@ -178,7 +178,7 @@
['scale(2, 2), translateX(5px) translateY(5px)',
].forEach(function(string) {
test(function() {
- assert_throws("SyntaxError", function() { new self[constr](string); });
+ assert_throws_dom("SyntaxError", function() { new self[constr](string); });
}, `new ${constr}(${format_value(string)})`);
});
@@ -195,7 +195,7 @@
[], // 0 elements
].forEach(function(sequence) {
test(function() {
- assert_throws(new TypeError(), function() { new self[constr](sequence); });
+ assert_throws_js(TypeError, function() { new self[constr](sequence); });
}, `new ${constr}(sequence) ${sequence.length} elements`);
});
});
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js
index 42f919d3f09..d11638b26a6 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js
@@ -5,12 +5,12 @@ importScripts("/resources/testharness.js");
['DOMMatrix', 'DOMMatrixReadOnly'].forEach(constr => {
test(() => {
assert_true(constr in self, `${constr} should exist`);
- assert_throws(new TypeError(), () => new self[constr]('matrix(1,0,0,1,0,0)') );
+ assert_throws_js(TypeError, () => new self[constr]('matrix(1,0,0,1,0,0)') );
}, `${constr} constructor with string argument in worker`);
test(() => {
assert_true(constr in self, `${constr} should exist`);
- assert_throws(new TypeError(), () => new self[constr]('') );
+ assert_throws_js(TypeError, () => new self[constr]('') );
}, `${constr} constructor with empty string argument in worker`);
test(() => {
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-stringifier.html b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-stringifier.html
index 126c4443175..5a39238bef5 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-stringifier.html
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-stringifier.html
@@ -22,12 +22,12 @@
[NaN, Infinity, -Infinity].forEach(num => {
test(() => {
const matrix = new self[constr]([1, 0, 0, 1, 0, num]);
- assert_throws("InvalidStateError", () => String(matrix));
+ assert_throws_dom("InvalidStateError", () => String(matrix));
}, `${prefix} ${num} (2d)`);
test(() => {
const matrix = new self[constr]([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, num, 0, 1]);
- assert_throws("InvalidStateError", () => String(matrix));
+ assert_throws_dom("InvalidStateError", () => String(matrix));
}, `${prefix} ${num} (3d)`);
});
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html
index 7ef4ca8b060..480d67a481d 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html
@@ -51,11 +51,11 @@ var emptyCanvasURL = window.canvas.toDataURL();
].forEach(dict => {
test(() => {
ctx.resetTransform();
- assert_throws(new TypeError(), () => ctx.setTransform(dict));
+ assert_throws_js(TypeError, () => ctx.setTransform(dict));
}, `setTransform(${format_dict(dict)}) (invalid)`);
test(() => {
- assert_throws(new TypeError(), () => drawRectWithAddPathTransform(ctx, dict));
+ assert_throws_js(TypeError, () => drawRectWithAddPathTransform(ctx, dict));
}, `addPath(${format_dict(dict)}) (invalid)`);
});
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html b/tests/wpt/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html
index 8835c1ba48a..b89b75205eb 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html
@@ -27,7 +27,7 @@
].forEach(dict => {
test(() => {
assert_true('fromMatrix' in DOMMatrix, 'fromMatrix should exist');
- assert_throws(new TypeError(), () => DOMMatrix.fromMatrix(dict));
+ assert_throws_js(TypeError, () => DOMMatrix.fromMatrix(dict));
}, `${format_dict(dict)} (invalid)`);
});
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMPoint-002.html b/tests/wpt/web-platform-tests/css/geometry/DOMPoint-002.html
index b7f5a911772..96276d86f5a 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMPoint-002.html
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMPoint-002.html
@@ -78,7 +78,7 @@
},'test DOMPoint matrixTransform');
test(function() {
var point = new DOMPoint(42, 84);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
point.matrixTransform({ is2D: true, m33: 1.0000001 });
});
},'test DOMPoint matrixTransform with inconsistent input');
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMQuad-001.html b/tests/wpt/web-platform-tests/css/geometry/DOMQuad-001.html
index 38c54285d94..331bb615956 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMQuad-001.html
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMQuad-001.html
@@ -28,19 +28,19 @@
checkDOMQuad(function() { return new DOMQuad(); }, initial, 'testConstructor0');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad(1); });
+ assert_throws_js(TypeError, function() { new DOMQuad(1); });
},'testConstructor1');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad(1, 2); });
+ assert_throws_js(TypeError, function() { new DOMQuad(1, 2); });
},'testConstructor2');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad(1, 2, 3); });
+ assert_throws_js(TypeError, function() { new DOMQuad(1, 2, 3); });
},'testConstructor3');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad(1, 2, 3, 4); });
+ assert_throws_js(TypeError, function() { new DOMQuad(1, 2, 3, 4); });
},'testConstructor4');
checkDOMQuad(
@@ -85,7 +85,7 @@
checkDOMQuad(function() { return new DOMQuad({}, {}, {}, {}, NaN); }, initial, 'testConstructor14');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad({}, {}, {}, NaN); });
+ assert_throws_js(TypeError, function() { new DOMQuad({}, {}, {}, NaN); });
},'testConstructor15');
checkDOMQuad(function() {
diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMQuad-002.html b/tests/wpt/web-platform-tests/css/geometry/DOMQuad-002.html
index 9e3ef98895a..5734be1f293 100644
--- a/tests/wpt/web-platform-tests/css/geometry/DOMQuad-002.html
+++ b/tests/wpt/web-platform-tests/css/geometry/DOMQuad-002.html
@@ -73,15 +73,15 @@
},'test Constructor with four DOMPoint args');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad(1, 2, 3, 4); });
+ assert_throws_js(TypeError, function() { new DOMQuad(1, 2, 3, 4); });
},'test Constructor with invaild integer args');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad("1", "2", "3", "4"); });
+ assert_throws_js(TypeError, function() { new DOMQuad("1", "2", "3", "4"); });
},'test Constructor with invaild string args');
test(function() {
- assert_throws(new TypeError(), function() { new DOMQuad({}, {}, {}, NaN); });
+ assert_throws_js(TypeError, function() { new DOMQuad({}, {}, {}, NaN); });
},'test Constructor with NaN');
test(function() {
diff --git a/tests/wpt/web-platform-tests/css/geometry/spec-examples.html b/tests/wpt/web-platform-tests/css/geometry/spec-examples.html
index 4e97fb5f217..61efa2a89bf 100644
--- a/tests/wpt/web-platform-tests/css/geometry/spec-examples.html
+++ b/tests/wpt/web-platform-tests/css/geometry/spec-examples.html
@@ -76,7 +76,7 @@ test(() => {
test(() => {
// This example will throw an exception because there are non-finite values in the matrix.
var matrix = new DOMMatrix([NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN]);
- assert_throws("InvalidStateError", () => { var string = matrix + " Batman!"; });
+ assert_throws_dom("InvalidStateError", () => { var string = matrix + " Batman!"; });
}, 'DOMMatrix NaN');
test(() => {
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html
index 0ed360f6e36..fce99f572e9 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html
@@ -28,6 +28,10 @@ test_valid_value("offset-path", 'path("M 0 0 L 100 100 m 0 100 l 100 0 Z l 160 2
test_valid_value("offset-path", 'path("m 10 20 l 20 30 Z l 50 60 Z m 70 80 l 90 60 Z t 70 120")');
test_valid_value("offset-path", 'path("m 10 170 h 90 v 30 m 0 0 s 1 2 3 4 z c 9 8 7 6 5 4")', 'path("m 10 170 h 90 v 30 m 0 0 s 1 2 3 4 Z c 9 8 7 6 5 4")');
test_valid_value("offset-path", 'path("m 10 20 a 10 20 30 1 0 40 50 a 110 120 30 1 1 140 50")');
+// See https://github.com/w3c/fxtf-drafts/issues/392. If empty path string,
+// Blink serializes it as none, but Gecko serializes as path("").
+test_valid_value("offset-path", 'path("")', ['none', 'path("")']);
+test_valid_value("offset-path", 'path(" ")', ['none', 'path("")']);
test_valid_value("offset-path", 'url("http://www.example.com/index.html#polyline1")');
diff --git a/tests/wpt/web-platform-tests/css/selectors/attribute-selectors/attribute-case/syntax.html b/tests/wpt/web-platform-tests/css/selectors/attribute-selectors/attribute-case/syntax.html
index e5acde100b0..0eda7374053 100644
--- a/tests/wpt/web-platform-tests/css/selectors/attribute-selectors/attribute-case/syntax.html
+++ b/tests/wpt/web-platform-tests/css/selectors/attribute-selectors/attribute-case/syntax.html
@@ -135,7 +135,7 @@ onload = function() {
assert_equals(global.getComputedStyle(elm).visibility, 'visible', 'invalid selector matched');
}, s + ' in ' + global.mode);
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
global.document.querySelector(s);
}, 'invalid selector');
}, s + ' with querySelector in ' + global.mode);
diff --git a/tests/wpt/web-platform-tests/css/selectors/user-invalid.html b/tests/wpt/web-platform-tests/css/selectors/user-invalid.html
index f0c3d93cbea..05cf2b67903 100644
--- a/tests/wpt/web-platform-tests/css/selectors/user-invalid.html
+++ b/tests/wpt/web-platform-tests/css/selectors/user-invalid.html
@@ -15,6 +15,6 @@ test(() => {
test(() => {
const input = document.querySelector('input');
// matches() will throw if the selector isn't suppported
- assert_throws("SyntaxError", () => input.matches(':user-error'));
+ assert_throws_dom("SyntaxError", () => input.matches(':user-error'));
}, ':user-error selector should not be supported');
</script>
diff --git a/tests/wpt/web-platform-tests/css/selectors/webkit-pseudo-element.html b/tests/wpt/web-platform-tests/css/selectors/webkit-pseudo-element.html
index 5ba98eba21b..30103fa72bf 100644
--- a/tests/wpt/web-platform-tests/css/selectors/webkit-pseudo-element.html
+++ b/tests/wpt/web-platform-tests/css/selectors/webkit-pseudo-element.html
@@ -41,8 +41,8 @@ span::-webkit-something-invalid, #test, ::-WeBkIt-sOmEtHiNg-NoNeXiSt123, ::-webk
test(() => {
let sheet = document.getElementById("style").sheet;
assert_equals(sheet.cssRules.length, 2);
- assert_throws("SyntaxError", () => document.querySelector("span::-webkitfoo"));
- assert_throws("SyntaxError", () => document.querySelectorAll("span::-webkitfoo"));
+ assert_throws_dom("SyntaxError", () => document.querySelector("span::-webkitfoo"));
+ assert_throws_dom("SyntaxError", () => document.querySelectorAll("span::-webkitfoo"));
}, "webkit-prefix without dash is invalid");
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/css/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/support/parsing-testcommon.js
index 647bc125df9..bcb9d7cdd60 100644
--- a/tests/wpt/web-platform-tests/css/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/support/parsing-testcommon.js
@@ -79,7 +79,7 @@ function test_invalid_selector(selector) {
const stringifiedSelector = JSON.stringify(selector);
test(function(){
- assert_throws(
+ assert_throws_dom(
DOMException.SYNTAX_ERR,
() => document.querySelector(selector),
stringifiedSelector + " should throw in querySelector");
@@ -89,7 +89,7 @@ function test_invalid_selector(selector) {
const {sheet} = style;
document.head.removeChild(style);
- assert_throws(
+ assert_throws_dom(
DOMException.SYNTAX_ERR,
() => sheet.insertRule(selector + "{}"),
stringifiedSelector + " should throw in insertRule");
diff --git a/tests/wpt/web-platform-tests/custom-elements/CustomElementRegistry.html b/tests/wpt/web-platform-tests/custom-elements/CustomElementRegistry.html
index c288e823270..cc81e3a2cd3 100644
--- a/tests/wpt/web-platform-tests/custom-elements/CustomElementRegistry.html
+++ b/tests/wpt/web-platform-tests/custom-elements/CustomElementRegistry.html
@@ -17,13 +17,13 @@ test(function () {
}, 'CustomElementRegistry interface must have define as a method');
test(function () {
- assert_throws({'name': 'TypeError'}, function () { customElements.define('badname', 1); },
+ assert_throws_js(TypeError, function () { customElements.define('badname', 1); },
'customElements.define must throw a TypeError when the element interface is a number');
- assert_throws({'name': 'TypeError'}, function () { customElements.define('badname', '123'); },
+ assert_throws_js(TypeError, function () { customElements.define('badname', '123'); },
'customElements.define must throw a TypeError when the element interface is a string');
- assert_throws({'name': 'TypeError'}, function () { customElements.define('badname', {}); },
+ assert_throws_js(TypeError, function () { customElements.define('badname', {}); },
'customElements.define must throw a TypeError when the element interface is an object');
- assert_throws({'name': 'TypeError'}, function () { customElements.define('badname', []); },
+ assert_throws_js(TypeError, function () { customElements.define('badname', []); },
'customElements.define must throw a TypeError when the element interface is an array');
}, 'customElements.define must throw when the element interface is not a constructor');
@@ -34,13 +34,13 @@ test(function () {
test(function () {
class MyCustomElement extends HTMLElement {};
- assert_throws({'name': 'SyntaxError'}, function () { customElements.define(null, MyCustomElement); },
+ assert_throws_dom('SyntaxError', function () { customElements.define(null, MyCustomElement); },
'customElements.define must throw a SyntaxError if the tag name is null');
- assert_throws({'name': 'SyntaxError'}, function () { customElements.define('', MyCustomElement); },
+ assert_throws_dom('SyntaxError', function () { customElements.define('', MyCustomElement); },
'customElements.define must throw a SyntaxError if the tag name is empty');
- assert_throws({'name': 'SyntaxError'}, function () { customElements.define('abc', MyCustomElement); },
+ assert_throws_dom('SyntaxError', function () { customElements.define('abc', MyCustomElement); },
'customElements.define must throw a SyntaxError if the tag name does not contain "-"');
- assert_throws({'name': 'SyntaxError'}, function () { customElements.define('a-Bc', MyCustomElement); },
+ assert_throws_dom('SyntaxError', function () { customElements.define('a-Bc', MyCustomElement); },
'customElements.define must throw a SyntaxError if the tag name contains an upper case letter');
var builtinTagNames = [
@@ -55,7 +55,7 @@ test(function () {
];
for (var tagName of builtinTagNames) {
- assert_throws({'name': 'SyntaxError'}, function () { customElements.define(tagName, MyCustomElement); },
+ assert_throws_dom('SyntaxError', function () { customElements.define(tagName, MyCustomElement); },
'customElements.define must throw a SyntaxError if the tag name is "' + tagName + '"');
}
@@ -73,7 +73,7 @@ test(function () {
})
customElements.define('some-custom-element', SomeCustomElement);
- assert_throws({'name': 'NotSupportedError'}, function () { customElements.define('some-custom-element', OtherCustomElement); },
+ assert_throws_dom('NotSupportedError', function () { customElements.define('some-custom-element', OtherCustomElement); },
'customElements.define must throw a NotSupportedError if the specified tag name is already used');
assert_array_equals(calls, [], 'customElements.define must validate the custom element name before getting the prototype of the constructor');
@@ -83,7 +83,7 @@ test(function () {
class AnotherCustomElement extends HTMLElement {};
customElements.define('another-custom-element', AnotherCustomElement);
- assert_throws({'name': 'NotSupportedError'}, function () { customElements.define('some-other-element', AnotherCustomElement); },
+ assert_throws_dom('NotSupportedError', function () { customElements.define('some-other-element', AnotherCustomElement); },
'customElements.define must throw a NotSupportedError if the specified class already defines an element');
}, 'customElements.define must throw a NotSupportedError when there is already a custom element with the same class');
@@ -105,7 +105,7 @@ test(function () {
}
});
- assert_throws({'name': 'NotSupportedError'}, function () { customElements.define('outer-custom-element', OuterCustomElement); },
+ assert_throws_dom('NotSupportedError', function () { customElements.define('outer-custom-element', OuterCustomElement); },
'customElements.define must throw a NotSupportedError if the specified class already defines an element');
assert_array_equals(outerCalls, ['prototype'], 'customElements.define must get "prototype"');
assert_array_equals(innerCalls, [],
@@ -124,7 +124,7 @@ test(function () {
}
});
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
customElements.define('element-with-bad-inner-constructor', ElementWithBadInnerConstructor);
}, 'customElements.define must throw a NotSupportedError if IsConstructor(constructor) is false');
@@ -141,7 +141,7 @@ test(function () {
}
});
- assert_throws({'name': 'SyntaxError'}, function () {
+ assert_throws_dom('SyntaxError', function () {
customElements.define('element-with-bad-inner-name', ElementWithBadInnerName);
}, 'customElements.define must throw a SyntaxError if the specified name is not a valid custom element name');
@@ -213,7 +213,7 @@ test(function () {
}
});
- assert_throws({'name': 'SyntaxError'}, function () {
+ assert_throws_dom('SyntaxError', function () {
customElements.define('element-with-bad-inner-name', ElementWithBadInnerName);
}, 'customElements.define must throw a SyntaxError if the specified name is not a valid custom element name');
@@ -233,12 +233,13 @@ test(function () {
}, 'customElements.define must get "prototype", "disabledFeatures", and "formAssociated" property of the constructor');
test(function () {
+ var err = {name: 'expectedError'}
var proxy = new Proxy(class extends HTMLElement { }, {
get: function (target, name) {
- throw {name: 'expectedError'};
+ throw err;
}
});
- assert_throws({'name': 'expectedError'}, function () { customElements.define('element-with-string-prototype', proxy); });
+ assert_throws_exactly(err, function () { customElements.define('element-with-string-prototype', proxy); });
}, 'customElements.define must rethrow an exception thrown while getting "prototype" property of the constructor');
test(function () {
@@ -248,16 +249,16 @@ test(function () {
});
returnedValue = null;
- assert_throws({'name': 'TypeError'}, function () { customElements.define('element-with-string-prototype', proxy); },
+ assert_throws_js(TypeError, function () { customElements.define('element-with-string-prototype', proxy); },
'customElements.define must throw when "prototype" property of the constructor is null');
returnedValue = undefined;
- assert_throws({'name': 'TypeError'}, function () { customElements.define('element-with-string-prototype', proxy); },
+ assert_throws_js(TypeError, function () { customElements.define('element-with-string-prototype', proxy); },
'customElements.define must throw when "prototype" property of the constructor is undefined');
returnedValue = 'hello';
- assert_throws({'name': 'TypeError'}, function () { customElements.define('element-with-string-prototype', proxy); },
+ assert_throws_js(TypeError, function () { customElements.define('element-with-string-prototype', proxy); },
'customElements.define must throw when "prototype" property of the constructor is a string');
returnedValue = 1;
- assert_throws({'name': 'TypeError'}, function () { customElements.define('element-with-string-prototype', proxy); },
+ assert_throws_js(TypeError, function () { customElements.define('element-with-string-prototype', proxy); },
'customElements.define must throw when "prototype" property of the constructor is a number');
}, 'customElements.define must throw when "prototype" property of the constructor is not an object');
@@ -278,15 +279,16 @@ test(function () {
test(function () {
var constructor = function () {}
var calls = [];
+ var err = {name: 'expectedError'}
constructor.prototype = new Proxy(constructor.prototype, {
get: function (target, name) {
calls.push(name);
if (name == 'disconnectedCallback')
- throw {name: 'expectedError'};
+ throw err;
return target[name];
}
});
- assert_throws({'name': 'expectedError'}, function () { customElements.define('element-with-throwing-callback', constructor); });
+ assert_throws_exactly(err, function () { customElements.define('element-with-throwing-callback', constructor); });
assert_array_equals(calls, ['connectedCallback', 'disconnectedCallback'],
'customElements.define must not get callbacks after one of the get throws');
}, 'customElements.define must rethrow an exception thrown while getting callbacks on the constructor prototype');
@@ -302,7 +304,7 @@ test(function () {
return target[name];
}
});
- assert_throws({'name': 'TypeError'}, function () { customElements.define('element-with-throwing-callback', constructor); });
+ assert_throws_js(TypeError, function () { customElements.define('element-with-throwing-callback', constructor); });
assert_array_equals(calls, ['connectedCallback', 'disconnectedCallback', 'adoptedCallback'],
'customElements.define must not get callbacks after one of the conversion throws');
}, 'customElements.define must rethrow an exception thrown while converting a callback value to Function callback type');
@@ -341,15 +343,16 @@ test(function () {
var constructor = function () {}
constructor.prototype.attributeChangedCallback = function () { };
var calls = [];
+ var err = {name: 'expectedError'};
var proxy = new Proxy(constructor, {
get: function (target, name) {
calls.push(name);
if (name == 'observedAttributes')
- throw {name: 'expectedError'};
+ throw err;
return target[name];
}
});
- assert_throws({'name': 'expectedError'}, function () { customElements.define('element-with-throwing-observed-attributes', proxy); });
+ assert_throws_exactly(err, function () { customElements.define('element-with-throwing-observed-attributes', proxy); });
assert_array_equals(calls, ['prototype', 'observedAttributes'],
'customElements.define must get "prototype" and "observedAttributes" on the constructor');
}, 'customElements.define must rethrow an exception thrown while getting observedAttributes on the constructor prototype');
@@ -366,26 +369,27 @@ test(function () {
return target[name];
}
});
- assert_throws({'name': 'TypeError'}, function () { customElements.define('element-with-invalid-observed-attributes', proxy); });
+ assert_throws_js(TypeError, function () { customElements.define('element-with-invalid-observed-attributes', proxy); });
assert_array_equals(calls, ['prototype', 'observedAttributes'],
'customElements.define must get "prototype" and "observedAttributes" on the constructor');
}, 'customElements.define must rethrow an exception thrown while converting the value of observedAttributes to sequence<DOMString>');
-test(function () {
+ test(function () {
+ var err = {name: 'SomeError'};
var constructor = function () {}
constructor.prototype.attributeChangedCallback = function () { };
constructor.observedAttributes = {[Symbol.iterator]: function *() {
yield 'foo';
- throw {name: 'SomeError'};
+ throw err;
}};
- assert_throws({'name': 'SomeError'}, function () { customElements.define('element-with-generator-observed-attributes', constructor); });
+ assert_throws_exactly(err, function () { customElements.define('element-with-generator-observed-attributes', constructor); });
}, 'customElements.define must rethrow an exception thrown while iterating over observedAttributes to sequence<DOMString>');
test(function () {
var constructor = function () {}
constructor.prototype.attributeChangedCallback = function () { };
constructor.observedAttributes = {[Symbol.iterator]: 1};
- assert_throws({'name': 'TypeError'}, function () { customElements.define('element-with-observed-attributes-with-uncallable-iterator', constructor); });
+ assert_throws_js(TypeError, function () { customElements.define('element-with-observed-attributes-with-uncallable-iterator', constructor); });
}, 'customElements.define must rethrow an exception thrown while retrieving Symbol.iterator on observedAttributes');
test(function () {
@@ -397,15 +401,16 @@ test(function () {
test(function () {
var constructor = function () {}
var calls = [];
+ var err = {name: 'expectedError'}
var proxy = new Proxy(constructor, {
get: function (target, name) {
calls.push(name);
if (name == 'disabledFeatures')
- throw {name: 'expectedError'};
+ throw err;
return target[name];
}
});
- assert_throws({'name': 'expectedError'}, () => customElements.define('element-with-throwing-disabled-features', proxy));
+ assert_throws_exactly(err, () => customElements.define('element-with-throwing-disabled-features', proxy));
assert_array_equals(calls, ['prototype', 'disabledFeatures'],
'customElements.define must get "prototype" and "disabledFeatures" on the constructor');
}, 'customElements.define must rethrow an exception thrown while getting disabledFeatures on the constructor prototype');
@@ -421,38 +426,40 @@ test(function () {
return target[name];
}
});
- assert_throws({'name': 'TypeError'}, () => customElements.define('element-with-invalid-disabled-features', proxy));
+ assert_throws_js(TypeError, () => customElements.define('element-with-invalid-disabled-features', proxy));
assert_array_equals(calls, ['prototype', 'disabledFeatures'],
'customElements.define must get "prototype" and "disabledFeatures" on the constructor');
}, 'customElements.define must rethrow an exception thrown while converting the value of disabledFeatures to sequence<DOMString>');
test(function () {
var constructor = function () {}
+ var err = {name: 'SomeError'};
constructor.disabledFeatures = {[Symbol.iterator]: function *() {
yield 'foo';
- throw {name: 'SomeError'};
+ throw err;
}};
- assert_throws({'name': 'SomeError'}, () => customElements.define('element-with-generator-disabled-features', constructor));
+ assert_throws_exactly(err, () => customElements.define('element-with-generator-disabled-features', constructor));
}, 'customElements.define must rethrow an exception thrown while iterating over disabledFeatures to sequence<DOMString>');
test(function () {
var constructor = function () {}
constructor.disabledFeatures = {[Symbol.iterator]: 1};
- assert_throws({'name': 'TypeError'}, () => customElements.define('element-with-disabled-features-with-uncallable-iterator', constructor));
+ assert_throws_js(TypeError, () => customElements.define('element-with-disabled-features-with-uncallable-iterator', constructor));
}, 'customElements.define must rethrow an exception thrown while retrieving Symbol.iterator on disabledFeatures');
test(function () {
var constructor = function () {}
var calls = [];
+ var err = {name: 'expectedError'};
var proxy = new Proxy(constructor, {
get: function (target, name) {
calls.push(name);
if (name == 'formAssociated')
- throw {name: 'expectedError'};
+ throw err;
return target[name];
}
});
- assert_throws({'name': 'expectedError'},
+ assert_throws_exactly(err,
() => customElements.define('element-with-throwing-form-associated', proxy));
assert_array_equals(calls, ['prototype', 'disabledFeatures', 'formAssociated'],
'customElements.define must get "prototype", "disabledFeatures", and ' +
@@ -503,15 +510,16 @@ test(function () {
}
});
var calls = [];
+ var err = {name: 'expectedError'};
constructor.prototype = new Proxy(constructor.prototype, {
get: function (target, name) {
calls.push(name);
if (name == 'formDisabledCallback')
- throw {name: 'expectedError'};
+ throw err;
return target[name];
}
});
- assert_throws({'name': 'expectedError'},
+ assert_throws_exactly(err,
() => customElements.define('element-with-throwing-callback-2', proxy));
assert_array_equals(calls, ['connectedCallback', 'disconnectedCallback',
'adoptedCallback', 'attributeChangedCallback',
@@ -528,7 +536,7 @@ test(function () {
return target[name];
}
});
- assert_throws({'name': 'TypeError'},
+ assert_throws_js(TypeError,
() => customElements.define('element-with-throwing-callback-3', proxy));
assert_array_equals(calls2, ['connectedCallback', 'disconnectedCallback',
'adoptedCallback', 'attributeChangedCallback',
diff --git a/tests/wpt/web-platform-tests/custom-elements/Document-createElement.html b/tests/wpt/web-platform-tests/custom-elements/Document-createElement.html
index 8173c761388..64b6f25b5e7 100644
--- a/tests/wpt/web-platform-tests/custom-elements/Document-createElement.html
+++ b/tests/wpt/web-platform-tests/custom-elements/Document-createElement.html
@@ -350,7 +350,7 @@ test(function () {
};
customElements.define('throw-custom-element', ThrowCustomElement);
- assert_throws(exceptionToThrow, function () { new ThrowCustomElement; });
+ assert_throws_exactly(exceptionToThrow, function () { new ThrowCustomElement; });
var instance;
assert_reports(exceptionToThrow, function () { instance = document.createElement('throw-custom-element'); });
assert_equals(instance.localName, 'throw-custom-element');
@@ -375,7 +375,7 @@ test(function () {
};
customElements.define('throw-custom-builtin-element', ThrowCustomBuiltinElement, { extends: 'div' });
- assert_throws(exceptionToThrow, function () { new ThrowCustomBuiltinElement; });
+ assert_throws_exactly(exceptionToThrow, function () { new ThrowCustomBuiltinElement; });
var instance;
assert_reports(exceptionToThrow, function () { instance = document.createElement('div', { is: 'throw-custom-builtin-element' }); });
assert_equals(instance.localName, 'div');
diff --git a/tests/wpt/web-platform-tests/custom-elements/HTMLElement-attachInternals.html b/tests/wpt/web-platform-tests/custom-elements/HTMLElement-attachInternals.html
index 22c9545215c..9331869f8fe 100644
--- a/tests/wpt/web-platform-tests/custom-elements/HTMLElement-attachInternals.html
+++ b/tests/wpt/web-platform-tests/custom-elements/HTMLElement-attachInternals.html
@@ -14,19 +14,19 @@ test(() => {
let element = new MyElement1();
assert_true(element.attachInternals() instanceof ElementInternals,
'New - 1st call');
- assert_throws('NotSupportedError', () => { element.attachInternals(); },
+ assert_throws_dom('NotSupportedError', () => { element.attachInternals(); },
'New - 2nd call');
element = document.createElement('my-element1');
assert_true(element.attachInternals() instanceof ElementInternals,
'createElement - 1st call');
- assert_throws('NotSupportedError', () => { element.attachInternals(); },
+ assert_throws_dom('NotSupportedError', () => { element.attachInternals(); },
'createElement - 2nd call');
container.innerHTML = '<my-element1></my-element1>';
assert_true(container.firstChild.attachInternals() instanceof ElementInternals,
'Parser - 1st call');
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
container.firstChild.attachInternals();
}, 'Parser - 2nd call');
}, 'Successful attachInternals() and the second call.');
@@ -35,21 +35,21 @@ test(() => {
class MyDiv extends HTMLDivElement {}
customElements.define('my-div', MyDiv, { extends: 'div' });
const customizedBuiltin = document.createElement('div', { is: 'my-div'});
- assert_throws('NotSupportedError', () => { customizedBuiltin.attachInternals() });
+ assert_throws_dom('NotSupportedError', () => { customizedBuiltin.attachInternals() });
}, 'attachInternals() throws a NotSupportedError if it is called for ' +
'a customized built-in element');
test(() => {
const builtin = document.createElement('div');
- assert_throws('NotSupportedError', () => { builtin.attachInternals() });
+ assert_throws_dom('NotSupportedError', () => { builtin.attachInternals() });
const doc = document.implementation.createDocument('foo', null);
const span = doc.appendChild(doc.createElementNS('http://www.w3.org/1999/xhtml', 'html:span'));
assert_true(span instanceof HTMLElement);
- assert_throws('NotSupportedError', () => { span.attachInternals(); });
+ assert_throws_dom('NotSupportedError', () => { span.attachInternals(); });
const undefinedCustom = document.createElement('undefined-element');
- assert_throws('NotSupportedError', () => { undefinedCustom.attachInternals() });
+ assert_throws_dom('NotSupportedError', () => { undefinedCustom.attachInternals() });
}, 'If a custom element definition for the local name of the element doesn\'t' +
' exist, throw an NotSupportedError');
@@ -60,13 +60,13 @@ test(() => {
customElements.define('my-element2', MyElement2);
const container = document.querySelector('#container');
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
(new MyElement2).attachInternals();
});
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
document.createElement('my-element2').attachInternals();
});
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
container.innerHTML = '<my-element2></my-element2>';
container.firstChild.attachInternals();
});
diff --git a/tests/wpt/web-platform-tests/custom-elements/HTMLElement-constructor.html b/tests/wpt/web-platform-tests/custom-elements/HTMLElement-constructor.html
index a0bfa909bae..8e33137d4ff 100644
--- a/tests/wpt/web-platform-tests/custom-elements/HTMLElement-constructor.html
+++ b/tests/wpt/web-platform-tests/custom-elements/HTMLElement-constructor.html
@@ -14,29 +14,29 @@
test(function () {
customElements.define('html-custom-element', HTMLElement);
- assert_throws({'name': 'TypeError'}, function () { new HTMLElement(); });
+ assert_throws_js(TypeError, function () { new HTMLElement(); });
}, 'HTMLElement constructor must throw a TypeError when NewTarget is equal to itself');
test(function () {
customElements.define('html-proxy-custom-element', new Proxy(HTMLElement, {}));
- assert_throws({'name': 'TypeError'}, function () { new HTMLElement(); });
+ assert_throws_js(TypeError, function () { new HTMLElement(); });
}, 'HTMLElement constructor must throw a TypeError when NewTarget is equal to itself via a Proxy object');
test(function () {
class SomeCustomElement extends HTMLElement {};
- assert_throws({'name': 'TypeError'}, function () { new SomeCustomElement; });
+ assert_throws_js(TypeError, function () { new SomeCustomElement; });
}, 'HTMLElement constructor must throw TypeError when it has not been defined by customElements.define');
test(function () {
class SomeCustomElement extends HTMLParagraphElement {};
customElements.define('some-custom-element', SomeCustomElement);
- assert_throws({'name': 'TypeError'}, function () { new SomeCustomElement(); });
+ assert_throws_js(TypeError, function () { new SomeCustomElement(); });
}, 'Custom element constructor must throw TypeError when it does not extend HTMLElement');
test(function () {
class SomeCustomButtonElement extends HTMLButtonElement {};
customElements.define('some-custom-button-element', SomeCustomButtonElement, { extends: "p" });
- assert_throws({'name': 'TypeError'}, function () { new SomeCustomButtonElement(); });
+ assert_throws_js(TypeError, function () { new SomeCustomButtonElement(); });
}, 'Custom element constructor must throw TypeError when it does not extend the proper element interface');
test(function () {
@@ -178,7 +178,7 @@ test(function() {
// define() gets the prototype of the constructor it's passed, so
// reset the counter.
getCount = 0;
- assert_throws({'name': 'TypeError'},
+ assert_throws_js(TypeError,
function () { new countingProxy() },
"Should not be able to construct an HTMLElement named 'button'");
assert_equals(getCount, 0, "Should never have gotten .prototype");
@@ -200,7 +200,7 @@ test(function() {
// define() gets the prototype of the constructor it's passed, so
// reset the counter.
getCount = 0;
- assert_throws({'name': 'TypeError'},
+ assert_throws_js(TypeError,
function () { Reflect.construct(HTMLElement, [], countingProxy) },
"Should not be able to construct an HTMLElement named 'button'");
assert_equals(getCount, 0, "Should never have gotten .prototype");
@@ -219,7 +219,7 @@ test(function() {
});
// Purposefully don't register it.
- assert_throws({'name': 'TypeError'},
+ assert_throws_js(TypeError,
function () { new countingProxy() },
"Should not be able to construct an HTMLElement named 'button'");
assert_equals(getCount, 0, "Should never have gotten .prototype");
@@ -238,7 +238,7 @@ test(function() {
});
// Purposefully don't register it.
- assert_throws({'name': 'TypeError'},
+ assert_throws_js(TypeError,
function () { Reflect.construct(HTMLElement, [], countingProxy) },
"Should not be able to construct an HTMLElement named 'button'");
assert_equals(getCount, 0, "Should never have gotten .prototype");
diff --git a/tests/wpt/web-platform-tests/custom-elements/custom-element-registry/define.html b/tests/wpt/web-platform-tests/custom-elements/custom-element-registry/define.html
index e5d71ec6eab..61717b2e200 100644
--- a/tests/wpt/web-platform-tests/custom-elements/custom-element-registry/define.html
+++ b/tests/wpt/web-platform-tests/custom-elements/custom-element-registry/define.html
@@ -25,7 +25,7 @@
if (!testable)
return;
- const expectTypeError = TypeError.prototype;
+ const expectTypeError = testWindow.TypeError;
// Following errors are DOMException, not JavaScript errors.
const expectSyntaxError = 'SYNTAX_ERR';
const expectNotSupportedError = 'NOT_SUPPORTED_ERR';
@@ -33,12 +33,12 @@
// 1. If IsConstructor(constructor) is false,
// then throw a TypeError and abort these steps.
test(() => {
- assert_throws(expectTypeError, () => {
+ assert_throws_js(expectTypeError, () => {
customElements.define();
});
}, 'If no arguments, should throw a TypeError');
test(() => {
- assert_throws(expectTypeError, () => {
+ assert_throws_js(expectTypeError, () => {
customElements.define('test-define-one-arg');
});
}, 'If one argument, should throw a TypeError');
@@ -51,7 +51,7 @@
[ 'method', ({ m() { } }).m ], // IsConstructor returns false for methods
].forEach(t => {
test(() => {
- assert_throws(expectTypeError, () => {
+ assert_throws_js(expectTypeError, () => {
customElements.define(`test-define-constructor-${t[0]}`, t[1]);
});
}, `If constructor is ${t[0]}, should throw a TypeError`);
@@ -105,7 +105,7 @@
});
invalidCustomElementNames.forEach(name => {
test(() => {
- assert_throws(expectSyntaxError, () => {
+ assert_throws_dom(expectSyntaxError, () => {
customElements.define(name, class {});
});
}, `Element names: defining an element named ${name} should throw a SyntaxError`);
@@ -115,7 +115,7 @@
// then throw a NotSupportedError and abort these steps.
test(() => {
customElements.define('test-define-dup-name', class {});
- assert_throws(expectNotSupportedError, () => {
+ assert_throws_dom(expectNotSupportedError, () => {
customElements.define('test-define-dup-name', class {});
});
}, 'If the name is already defined, should throw a NotSupportedError');
@@ -125,7 +125,7 @@
test(() => {
class TestDupConstructor {};
customElements.define('test-define-dup-constructor', TestDupConstructor);
- assert_throws(expectNotSupportedError, () => {
+ assert_throws_dom(expectNotSupportedError, () => {
customElements.define('test-define-dup-ctor2', TestDupConstructor);
});
}, 'If the constructor is already defined, should throw a NotSupportedError');
@@ -134,7 +134,7 @@
// then throw a NotSupportedError.
validCustomElementNames.forEach(name => {
test(() => {
- assert_throws(expectNotSupportedError, () => {
+ assert_throws_dom(expectNotSupportedError, () => {
customElements.define('test-define-extend-valid-name', class {}, { extends: name });
});
}, `If extends is ${name}, should throw a NotSupportedError`);
@@ -154,20 +154,20 @@
'elementnametobeunknownelement',
].forEach(name => {
test(() => {
- assert_throws(expectNotSupportedError, () => {
+ assert_throws_dom(expectNotSupportedError, () => {
customElements.define('test-define-extend-' + name, class {}, { extends: name });
});
}, `If extends is ${name}, should throw a NotSupportedError`);
});
// 12.1. Let prototype be Get(constructor, "prototype"). Rethrow any exceptions.
+ const err = new Error('check this is rethrown');
+ err.name = 'rethrown';
function assert_rethrown(func, description) {
- assert_throws({ name: 'rethrown' }, func, description);
+ assert_throws_exactly(err, func, description);
}
function throw_rethrown_error() {
- const e = new Error('check this is rethrown');
- e.name = 'rethrown';
- throw e;
+ throw err;
}
test(() => {
// Hack for prototype to throw while IsConstructor is true.
@@ -184,14 +184,14 @@
// then throw a TypeError exception.
test(() => {
const c = (function () { }).bind({}); // prototype is undefined.
- assert_throws(expectTypeError, () => {
+ assert_throws_js(expectTypeError, () => {
customElements.define('test-define-constructor-prototype-undefined', c);
});
}, 'If Type(constructor.prototype) is undefined, should throw a TypeError');
test(() => {
function c() {};
c.prototype = 'string';
- assert_throws(expectTypeError, () => {
+ assert_throws_js(expectTypeError, () => {
customElements.define('test-define-constructor-prototype-string', c);
});
}, 'If Type(constructor.prototype) is string, should throw a TypeError');
@@ -232,7 +232,7 @@
if (data.success) {
customElements.define(`test-define-${name.toLowerCase()}-${data.name}`, C);
} else {
- assert_throws(expectTypeError, () => {
+ assert_throws_js(expectTypeError, () => {
customElements.define(`test-define-${name.toLowerCase()}-${data.name}`, C);
});
}
diff --git a/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-NotSupportedError.html b/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-NotSupportedError.html
index 0d8a5ffc8c3..51be7183c1e 100644
--- a/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-NotSupportedError.html
+++ b/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-NotSupportedError.html
@@ -9,15 +9,15 @@ test(() => {
const element = new NotFormAssociatedElement();
const i = element.attachInternals();
- assert_throws('NotSupportedError', () => i.setFormValue(''));
- assert_throws('NotSupportedError', () => i.form);
- assert_throws('NotSupportedError', () => i.setValidity({}));
- assert_throws('NotSupportedError', () => i.willValidate);
- assert_throws('NotSupportedError', () => i.validity);
- assert_throws('NotSupportedError', () => i.validationMessage);
- assert_throws('NotSupportedError', () => i.checkValidity());
- assert_throws('NotSupportedError', () => i.reportValidity());
- assert_throws('NotSupportedError', () => i.labels);
+ assert_throws_dom('NotSupportedError', () => i.setFormValue(''));
+ assert_throws_dom('NotSupportedError', () => i.form);
+ assert_throws_dom('NotSupportedError', () => i.setValidity({}));
+ assert_throws_dom('NotSupportedError', () => i.willValidate);
+ assert_throws_dom('NotSupportedError', () => i.validity);
+ assert_throws_dom('NotSupportedError', () => i.validationMessage);
+ assert_throws_dom('NotSupportedError', () => i.checkValidity());
+ assert_throws_dom('NotSupportedError', () => i.reportValidity());
+ assert_throws_dom('NotSupportedError', () => i.labels);
}, 'Form-related operations and attributes should throw NotSupportedErrors' +
' for non-form-associated custom elements.');
</script>
diff --git a/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-validation.html b/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-validation.html
index d7116147691..f67e96465bd 100644
--- a/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-validation.html
+++ b/tests/wpt/web-platform-tests/custom-elements/form-associated/ElementInternals-validation.html
@@ -115,7 +115,7 @@ test(() => {
assert_true(validity.valid);
assert_equals(control.i.validationMessage, '');
- assert_throws(new TypeError(), () => { control.i.setValidity({valueMissing: true}); },
+ assert_throws_js(TypeError, () => { control.i.setValidity({valueMissing: true}); },
'setValidity() requires the second argument if the first argument contains true');
}, 'validity and setValidity()');
@@ -125,11 +125,11 @@ test(() => {
const flags = {valueMissing: true};
const m = 'non-empty message';
- assert_throws('NotFoundError', () => {
+ assert_throws_dom('NotFoundError', () => {
control.i.setValidity(flags, m, document.body);
}, 'Not a descendant');
- assert_throws('NotFoundError', () => {
+ assert_throws_dom('NotFoundError', () => {
control.i.setValidity(flags, m, control);
}, 'Self');
diff --git a/tests/wpt/web-platform-tests/custom-elements/htmlconstructor/newtarget.html b/tests/wpt/web-platform-tests/custom-elements/htmlconstructor/newtarget.html
index 8d30682c10c..b95d7ade0bb 100644
--- a/tests/wpt/web-platform-tests/custom-elements/htmlconstructor/newtarget.html
+++ b/tests/wpt/web-platform-tests/custom-elements/htmlconstructor/newtarget.html
@@ -40,9 +40,10 @@ test_with_window(w => {
// We have to not throw during define(), but throw during super()
let throws = false;
+ let err = { name: "prototype throws" };
function TestElement() {
throws = true;
- assert_throws({ name: "prototype throws" }, () => {
+ assert_throws_exactly(err, () => {
Reflect.construct(w.HTMLElement, [], new.target);
});
}
@@ -50,7 +51,7 @@ test_with_window(w => {
const ElementWithDynamicPrototype = new Proxy(TestElement, {
get: function (target, name) {
if (throws && name == "prototype")
- throw { name: "prototype throws" };
+ throw err;
return target[name];
}
});
@@ -202,7 +203,7 @@ test_with_window(w => {
// define() gets the prototype of the constructor it's passed, so
// reset the counter.
getCount = 0;
- assert_throws({'name': 'TypeError'},
+ assert_throws_js(TypeError,
function () { new countingProxy() },
"Should not be able to construct an HTMLParagraphElement not named 'p'");
assert_equals(getCount, 0, "Should never have gotten .prototype");
@@ -223,7 +224,7 @@ test_with_window(w => {
// define() gets the prototype of the constructor it's passed, so
// reset the counter.
getCount = 0;
- assert_throws({'name': 'TypeError'},
+ assert_throws_js(TypeError,
function () { Reflect.construct(HTMLParagraphElement, [], countingProxy) },
"Should not be able to construct an HTMLParagraphElement not named 'p'");
assert_equals(getCount, 0, "Should never have gotten .prototype");
diff --git a/tests/wpt/web-platform-tests/custom-elements/reactions/with-exceptions.html b/tests/wpt/web-platform-tests/custom-elements/reactions/with-exceptions.html
index 82e0f59c930..e7cdee789d4 100644
--- a/tests/wpt/web-platform-tests/custom-elements/reactions/with-exceptions.html
+++ b/tests/wpt/web-platform-tests/custom-elements/reactions/with-exceptions.html
@@ -25,7 +25,7 @@ test_with_window((contentWindow, contentDocument) => {
contentDocument.documentElement.appendChild(text);
const element = contentDocument.createElement("custom-element");
contentDocument.documentElement.appendChild(element);
- assert_throws("HierarchyRequestError", () => text.before("", contentDocument.documentElement));
+ assert_throws_dom("HierarchyRequestError", () => text.before("", contentDocument.documentElement));
assert_true(reactionRan);
}, "Reaction must run even after the exception is thrown");
</script>
diff --git a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html
index 5938a0aeb9f..85359504014 100644
--- a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html
+++ b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html
@@ -45,12 +45,12 @@
promise_test(async function () {
const result = await construct_custom_element_in_parser(this, (document) => document.open());
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
}, 'document.open() must throw an InvalidStateError when synchronously constructing a custom element');
promise_test(async function () {
const result = await construct_custom_element_in_parser(this, (document) => document.open('text/html'));
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
}, 'document.open("text/html") must throw an InvalidStateError when synchronously constructing a custom element');
// https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-open-window
@@ -63,19 +63,19 @@
promise_test(async function () {
const result = await construct_custom_element_in_parser(this, (document) => document.close());
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
}, 'document.close() must throw an InvalidStateError when synchronously constructing a custom element');
promise_test(async function () {
const result = await construct_custom_element_in_parser(this, (document) => document.write('<b>some text</b>'));
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
assert_equals(result.document.querySelector('b'), null, 'Must not insert new content');
assert_false(result.document.documentElement.innerHTML.includes('some text'), 'Must not insert new content');
}, 'document.write must throw an InvalidStateError when synchronously constructing a custom element');
promise_test(async function () {
const result = await construct_custom_element_in_parser(this, (document) => document.writeln('<b>some text</b>'));
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
assert_equals(result.document.querySelector('b'), null, 'Must not insert new content');
assert_false(result.document.documentElement.innerHTML.includes('some text'), 'Must not insert new content');
}, 'document.writeln must throw an InvalidStateError when synchronously constructing a custom element');
diff --git a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html
index b9f9f55c705..49335bf9b42 100644
--- a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html
+++ b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html
@@ -45,12 +45,12 @@ async function custom_element_reactions_in_parser(test, call_function)
promise_test(async function () {
const result = await custom_element_reactions_in_parser(this, (document) => document.open());
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
}, 'document.open() must throw an InvalidStateError when processing custom element reactions for a synchronous constructed custom element');
promise_test(async function () {
const result = await custom_element_reactions_in_parser(this, (document) => document.open('text/html'));
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
}, 'document.open("text/html") must throw an InvalidStateError when processing custom element reactions for a synchronous constructed custom element');
// https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-open-window
@@ -63,19 +63,19 @@ promise_test(async function () {
promise_test(async function () {
const result = await custom_element_reactions_in_parser(this, (document) => document.close());
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
}, 'document.close() must throw an InvalidStateError when processing custom element reactions for a synchronous constructed custom element');
promise_test(async function () {
const result = await custom_element_reactions_in_parser(this, (document) => document.write('<b>some text</b>'));
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
assert_equals(result.document.querySelector('b'), null, 'Must not insert new content');
assert_false(result.document.documentElement.innerHTML.includes('some text'), 'Must not insert new content');
}, 'document.write must throw an InvalidStateError when processing custom element reactions for a synchronous constructed custom element');
promise_test(async function () {
const result = await custom_element_reactions_in_parser(this, (document) => document.writeln('<b>some text</b>'));
- assert_throws('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
+ assert_throws_dom('InvalidStateError', () => { throw result.exception; }, 'Must throw an InvalidStateError');
assert_equals(result.document.querySelector('b'), null, 'Must not insert new content');
assert_false(result.document.documentElement.innerHTML.includes('some text'), 'Must not insert new content');
}, 'document.writeln must throw an InvalidStateError when processing custom element reactions for a synchronous constructed custom element');
diff --git a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-as-prototype.html b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-as-prototype.html
index 75546a77c5e..d572d35c041 100644
--- a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-as-prototype.html
+++ b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-as-prototype.html
@@ -7,7 +7,7 @@
<script>
test(function() {
var obj = Object.create(document.getElementsByTagName("script"));
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
obj.length;
});
}, "HTMLCollection as a prototype should not allow getting .length on the base object")
diff --git a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-delete.html b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-delete.html
index 6f5b9326bb9..99420d43191 100644
--- a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-delete.html
+++ b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-delete.html
@@ -21,7 +21,7 @@ test(() => {
test(() => {
assert_equals(c[0], expected, "before");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete c[0];
});
@@ -36,7 +36,7 @@ test(() => {
test(() => {
assert_equals(c.foo, expected, "before");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete c.foo;
});
diff --git a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-own-props.html b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-own-props.html
index 1f21c0837ec..99dc425dbe4 100644
--- a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-own-props.html
+++ b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-own-props.html
@@ -30,7 +30,7 @@ test(function() {
var c = document.getElementsByTagName(tag);
var element = append(this, tag, name);
assert_equals(c[name], element);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
c[name] = "foo";
});
assert_equals(c[name], element);
@@ -76,7 +76,7 @@ test(function() {
var c = document.getElementsByTagName(tag);
var element = append(this, tag);
assert_equals(c[0], element);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
c[0] = "foo";
});
assert_equals(c[0], element);
@@ -98,7 +98,7 @@ test(function() {
var tag = "u";
var c = document.getElementsByTagName(tag);
assert_equals(c[0], undefined);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
c[0] = "foo";
});
assert_equals(c[0], undefined);
diff --git a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html
index 62ee6bb6abf..5339ec31ea1 100644
--- a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html
+++ b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html
@@ -109,18 +109,18 @@ test(function() {
elements[0] = 5;
assert_equals(elements[0], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
elements[0] = 5;
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
Object.defineProperty(elements, 0, { value: 5 });
});
delete elements[0];
assert_equals(elements[0], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete elements[0];
});
@@ -138,11 +138,11 @@ test(function() {
// [[DefineOwnProperty]] will disallow defining an indexed expando.
elements[idx] = 5;
assert_equals(elements[idx], undefined);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
elements[idx] = 5;
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
Object.defineProperty(elements, idx, { value: 5 });
});
@@ -170,7 +170,7 @@ test(function(){
delete elements[0];
assert_equals(elements[0], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete elements[0];
});
diff --git a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html
index 0a9df1ad660..3d21e166921 100644
--- a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html
+++ b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html
@@ -63,18 +63,18 @@ test(function() {
elements["some-id"] = 5;
assert_equals(elements["some-id"], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
elements["some-id"] = 5;
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
Object.defineProperty(elements, "some-id", { value: 5 });
});
delete elements["some-id"];
assert_equals(elements["some-id"], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete elements["some-id"];
});
@@ -126,7 +126,7 @@ test(function() {
delete elements["new-id2"];
assert_equals(elements["new-id2"], 5);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete elements["new-id2"];
});
diff --git a/tests/wpt/web-platform-tests/dom/events/CustomEvent.html b/tests/wpt/web-platform-tests/dom/events/CustomEvent.html
index abc6c370fd2..87050943f9b 100644
--- a/tests/wpt/web-platform-tests/dom/events/CustomEvent.html
+++ b/tests/wpt/web-platform-tests/dom/events/CustomEvent.html
@@ -19,7 +19,7 @@ test(function() {
test(function() {
var e = document.createEvent("CustomEvent");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
e.initCustomEvent();
});
}, "First parameter to initCustomEvent should be mandatory.");
diff --git a/tests/wpt/web-platform-tests/dom/events/Event-constructors.html b/tests/wpt/web-platform-tests/dom/events/Event-constructors.html
index 5f1ed15792c..72347efd532 100644
--- a/tests/wpt/web-platform-tests/dom/events/Event-constructors.html
+++ b/tests/wpt/web-platform-tests/dom/events/Event-constructors.html
@@ -5,13 +5,13 @@
<div id=log></div>
<script>
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new Event()
})
})
test(function() {
var test_error = { name: "test" }
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
new Event({ toString: function() { throw test_error; } })
})
})
@@ -46,7 +46,7 @@ test(function() {
assert_true("initEvent" in ev)
})
test(function() {
- assert_throws(new TypeError(), function() { Event("test") },
+ assert_throws_js(TypeError, function() { Event("test") },
'Calling Event constructor without "new" must throw');
})
test(function() {
diff --git a/tests/wpt/web-platform-tests/dom/events/Event-dispatch-redispatch.html b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-redispatch.html
index dc180c61567..b4584fb7200 100644
--- a/tests/wpt/web-platform-tests/dom/events/Event-dispatch-redispatch.html
+++ b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-redispatch.html
@@ -23,7 +23,7 @@ var waitForLoad = new Promise(resolve => {
document.addEventListener("DOMContentLoaded", event => {
contentLoadedEvent = event;
test_redispatching_of_dispatching_event.step(() => {
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
document.dispatchEvent(contentLoadedEvent);
}, "Trusted DOMContentLoaded event");
});
@@ -37,7 +37,7 @@ window.addEventListener("load", loadEvent => {
assert_false(untrustedContentLoadedEvent.isTrusted, "Redispatched DOMContentLoaded event shouldn't be trusted");
});
test_redispatching_of_dispatching_event.step(() => {
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
document.dispatchEvent(untrustedContentLoadedEvent);
}, "Untrusted DOMContentLoaded event");
});
@@ -60,7 +60,7 @@ async function testMouseUpAndClickEvent() {
assert_true(mouseupEvent.isTrusted, "First mouseup event should be trusted");
});
test_redispatching_of_dispatching_event.step(() => {
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
buttonElement.dispatchEvent(mouseupEvent);
}, "Trusted mouseup event");
});
@@ -73,7 +73,7 @@ async function testMouseUpAndClickEvent() {
assert_true(clickEvent.isTrusted, "First click event should be trusted");
});
test_redispatching_of_dispatching_event.step(() => {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
buttonElement.dispatchEvent(event);
}, "Trusted click event");
});
@@ -82,7 +82,7 @@ async function testMouseUpAndClickEvent() {
assert_false(event.isTrusted, "Redispatched mouseup event shouldn't be trusted");
});
test_redispatching_of_dispatching_event.step(() => {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
buttonElement.dispatchEvent(event);
}, "Untrusted mouseup event");
});
diff --git a/tests/wpt/web-platform-tests/dom/events/Event-initEvent.html b/tests/wpt/web-platform-tests/dom/events/Event-initEvent.html
index 34ed32af67b..ad1018d4daf 100644
--- a/tests/wpt/web-platform-tests/dom/events/Event-initEvent.html
+++ b/tests/wpt/web-platform-tests/dom/events/Event-initEvent.html
@@ -121,7 +121,7 @@ async_test(function() {
test(function() {
var e = document.createEvent("Event")
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
e.initEvent()
})
}, "First parameter to initEvent should be mandatory.")
diff --git a/tests/wpt/web-platform-tests/dom/events/Event-subclasses-constructors.html b/tests/wpt/web-platform-tests/dom/events/Event-subclasses-constructors.html
index 1fd70d4222b..08a5ded0116 100644
--- a/tests/wpt/web-platform-tests/dom/events/Event-subclasses-constructors.html
+++ b/tests/wpt/web-platform-tests/dom/events/Event-subclasses-constructors.html
@@ -172,7 +172,7 @@ Object.keys(expected).forEach(function(iface) {
});
test(function () {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new UIEvent("x", { view: 7 })
});
}, "UIEvent constructor (view argument with wrong type)")
diff --git a/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html b/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html
index 8a0d7353bc6..783561f5fb5 100644
--- a/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html
+++ b/tests/wpt/web-platform-tests/dom/events/EventTarget-dispatchEvent.html
@@ -14,14 +14,14 @@ setup({
})
test(function() {
- assert_throws(new TypeError(), function() { document.dispatchEvent(null) })
+ assert_throws_js(TypeError, function() { document.dispatchEvent(null) })
}, "Calling dispatchEvent(null).")
for (var alias in aliases) {
test(function() {
var e = document.createEvent(alias)
assert_equals(e.type, "", "Event type should be empty string before initialization")
- assert_throws("InvalidStateError", function() { document.dispatchEvent(e) })
+ assert_throws_dom("InvalidStateError", function() { document.dispatchEvent(e) })
}, "If the event's initialized flag is not set, an InvalidStateError must be thrown (" + alias + ").")
}
@@ -32,10 +32,10 @@ dispatch_dispatch.step(function() {
var target = document.createElement("div")
target.addEventListener("type", dispatch_dispatch.step_func(function() {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
target.dispatchEvent(e)
})
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
document.dispatchEvent(e)
})
}), false)
diff --git a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendChild.html b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendChild.html
index db7d51b915d..eb4f36c6810 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendChild.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendChild.html
@@ -19,7 +19,7 @@ function testNode(type1, type2) {
test(function() {
var node1 = create(type1);
var node2 = create(type2);
- assert_throws("HierarchyRequestError", function () {
+ assert_throws_dom("HierarchyRequestError", function () {
node1.appendChild(node2);
}, "CharacterData type " + type1 + " must not have children");
}, type1 + ".appendChild(" + type2 + ")");
diff --git a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendData.html b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendData.html
index d754218bfb1..a5d4072244e 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendData.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-appendData.html
@@ -60,7 +60,7 @@ function testNode(create, type) {
var node = create()
assert_equals(node.data, "test")
- assert_throws(new TypeError(), function() { node.appendData() });
+ assert_throws_js(TypeError, function() { node.appendData() });
assert_equals(node.data, "test")
}, type + ".appendData()")
}
diff --git a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-deleteData.html b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-deleteData.html
index 02ecbe6abfa..84f4d5b4156 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-deleteData.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-deleteData.html
@@ -12,10 +12,10 @@ function testNode(create, type) {
var node = create()
assert_equals(node.data, "test")
- assert_throws("INDEX_SIZE_ERR", function() { node.deleteData(5, 10) })
- assert_throws("INDEX_SIZE_ERR", function() { node.deleteData(5, 0) })
- assert_throws("INDEX_SIZE_ERR", function() { node.deleteData(-1, 10) })
- assert_throws("INDEX_SIZE_ERR", function() { node.deleteData(-1, 0) })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.deleteData(5, 10) })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.deleteData(5, 0) })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.deleteData(-1, 10) })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.deleteData(-1, 0) })
}, type + ".deleteData() out of bounds")
test(function() {
diff --git a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-insertData.html b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-insertData.html
index 5777327c26f..62c0ca10182 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-insertData.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-insertData.html
@@ -12,16 +12,16 @@ function testNode(create, type) {
var node = create()
assert_equals(node.data, "test")
- assert_throws("INDEX_SIZE_ERR", function() { node.insertData(5, "x") })
- assert_throws("INDEX_SIZE_ERR", function() { node.insertData(5, "") })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.insertData(5, "x") })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.insertData(5, "") })
}, type + ".insertData() out of bounds")
test(function() {
var node = create()
assert_equals(node.data, "test")
- assert_throws("INDEX_SIZE_ERR", function() { node.insertData(-1, "x") })
- assert_throws("INDEX_SIZE_ERR", function() { node.insertData(-0x100000000 + 5, "x") })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.insertData(-1, "x") })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { node.insertData(-0x100000000 + 5, "x") })
}, type + ".insertData() negative out of bounds")
test(function() {
diff --git a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-replaceData.html b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-replaceData.html
index 624ee5f237f..537751d8320 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-replaceData.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-replaceData.html
@@ -13,10 +13,10 @@ function testNode(create, type) {
var node = create()
assert_equals(node.data, "test")
- assert_throws("IndexSizeError", function() { node.replaceData(5, 1, "x") })
- assert_throws("IndexSizeError", function() { node.replaceData(5, 0, "") })
- assert_throws("IndexSizeError", function() { node.replaceData(-1, 1, "x") })
- assert_throws("IndexSizeError", function() { node.replaceData(-1, 0, "") })
+ assert_throws_dom("IndexSizeError", function() { node.replaceData(5, 1, "x") })
+ assert_throws_dom("IndexSizeError", function() { node.replaceData(5, 0, "") })
+ assert_throws_dom("IndexSizeError", function() { node.replaceData(-1, 1, "x") })
+ assert_throws_dom("IndexSizeError", function() { node.replaceData(-1, 0, "") })
assert_equals(node.data, "test")
}, type + ".replaceData() with invalid offset")
diff --git a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-substringData.html b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-substringData.html
index f20b4b202ba..b353526480e 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/CharacterData-substringData.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/CharacterData-substringData.html
@@ -12,8 +12,8 @@ function testNode(create, type) {
var node = create()
assert_equals(node.data, "test")
- assert_throws(new TypeError(), function() { node.substringData() })
- assert_throws(new TypeError(), function() { node.substringData(0) })
+ assert_throws_js(TypeError, function() { node.substringData() })
+ assert_throws_js(TypeError, function() { node.substringData(0) })
}, type + ".substringData() with too few arguments")
test(function() {
@@ -27,9 +27,9 @@ function testNode(create, type) {
var node = create()
assert_equals(node.data, "test")
- assert_throws("IndexSizeError", function() { node.substringData(5, 0) })
- assert_throws("IndexSizeError", function() { node.substringData(6, 0) })
- assert_throws("IndexSizeError", function() { node.substringData(-1, 0) })
+ assert_throws_dom("IndexSizeError", function() { node.substringData(5, 0) })
+ assert_throws_dom("IndexSizeError", function() { node.substringData(6, 0) })
+ assert_throws_dom("IndexSizeError", function() { node.substringData(-1, 0) })
}, type + ".substringData() with invalid offset")
test(function() {
diff --git a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
index 72519dd38d9..835002b4707 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
@@ -36,7 +36,7 @@ test(function() {
* the doctype argument
* the expected exception, or null if none
*/
- [null, null, false, new TypeError()],
+ [null, null, false, TypeError],
[null, "", null, null],
[undefined, null, undefined, null],
[undefined, undefined, undefined, null],
@@ -92,7 +92,11 @@ test(function() {
var namespace = t[0], qualifiedName = t[1], doctype = t[2], expected = t[3]
test(function() {
if (expected != null) {
- assert_throws(expected, function() { document.implementation.createDocument(namespace, qualifiedName, doctype) })
+ if (typeof expected == "string") {
+ assert_throws_dom(expected, function() { document.implementation.createDocument(namespace, qualifiedName, doctype) });
+ } else {
+ assert_throws_js(expected, function() { document.implementation.createDocument(namespace, qualifiedName, doctype) });
+ }
} else {
var doc = document.implementation.createDocument(namespace, qualifiedName, doctype)
assert_equals(doc.nodeType, Node.DOCUMENT_NODE)
@@ -155,11 +159,11 @@ test(function() {
})
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
document.implementation.createDocument()
}, "createDocument() should throw")
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
document.implementation.createDocument('')
}, "createDocument('') should throw")
}, "createDocument with missing arguments");
diff --git a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html
index f7e6e18b844..8d23e66a2b0 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html
@@ -109,7 +109,7 @@ test(function() {
var qualifiedName = t[0], publicId = t[1], systemId = t[2], expected = t[3]
test(function() {
if (expected) {
- assert_throws(expected, function() {
+ assert_throws_dom(expected, function() {
document.implementation.createDocumentType(qualifiedName, publicId, systemId)
})
} else {
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js b/tests/wpt/web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js
index c18b2069f98..dbbe667ff52 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js
@@ -23,7 +23,7 @@ function test_getElementsByTagName(context, element) {
test(function() {
var l = context.getElementsByTagName("nosuchtag")
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
l[5] = "foopy"
})
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-adoptNode.html b/tests/wpt/web-platform-tests/dom/nodes/Document-adoptNode.html
index 584d5d9fe03..60a4e6772ab 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-adoptNode.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-adoptNode.html
@@ -45,6 +45,6 @@ test(function() {
test(function() {
var doc = document.implementation.createDocument(null, null, null)
- assert_throws("NOT_SUPPORTED_ERR", function() { document.adoptNode(doc) })
+ assert_throws_dom("NOT_SUPPORTED_ERR", function() { document.adoptNode(doc) })
}, "Adopting a Document should throw.")
</script>
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-createAttribute.html b/tests/wpt/web-platform-tests/dom/nodes/Document-createAttribute.html
index b494257958f..b3dc8b60b9b 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-createAttribute.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-createAttribute.html
@@ -14,13 +14,13 @@ setup(function() {
invalid_names.forEach(function(name) {
test(function() {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
document.createAttribute(name, "test");
});
}, "HTML document.createAttribute(" + format_value(name) + ") should throw");
test(function() {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
xml_document.createAttribute(name, "test");
});
}, "XML document.createAttribute(" + format_value(name) + ") should throw");
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-createElement.html b/tests/wpt/web-platform-tests/dom/nodes/Document-createElement.html
index a74962752e7..653108ca11a 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-createElement.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-createElement.html
@@ -146,7 +146,7 @@ invalid.forEach(function(arg) {
window.addEventListener("load", function() {
testObj.step(function() {
var doc = getWin(desc).document;
- assert_throws("InvalidCharacterError",
+ assert_throws_dom("InvalidCharacterError",
function() { doc.createElement(arg) })
});
testObj.done();
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-createElementNS.html b/tests/wpt/web-platform-tests/dom/nodes/Document-createElementNS.html
index 6df8c785b8b..43cf800b4cc 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-createElementNS.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-createElementNS.html
@@ -50,7 +50,7 @@ function runTest(t, i, desc) {
}
var namespace = t[0], qualifiedName = t[1], expected = t[2]
if (expected != null) {
- assert_throws(expected, function() { doc.createElementNS(namespace, qualifiedName) })
+ assert_throws_dom(expected, function() { doc.createElementNS(namespace, qualifiedName) })
} else {
var element = doc.createElementNS(namespace, qualifiedName)
assert_not_equals(element, null)
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-createEvent.https.html b/tests/wpt/web-platform-tests/dom/nodes/Document-createEvent.https.html
index bdc1895879b..b4fb8cd0a31 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-createEvent.https.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-createEvent.https.html
@@ -42,7 +42,7 @@ for (var alias in aliases) {
var plural = alias + "s";
if (!(plural in aliases)) {
test(function () {
- assert_throws("NOT_SUPPORTED_ERR", function () {
+ assert_throws_dom("NOT_SUPPORTED_ERR", function () {
var evt = document.createEvent(plural);
});
}, 'Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "' + plural + '"');
@@ -51,14 +51,14 @@ for (var alias in aliases) {
}
test(function() {
- assert_throws("NOT_SUPPORTED_ERR", function() {
+ assert_throws_dom("NOT_SUPPORTED_ERR", function() {
var evt = document.createEvent("foo");
});
- assert_throws("NOT_SUPPORTED_ERR", function() {
+ assert_throws_dom("NOT_SUPPORTED_ERR", function() {
// 'LATIN CAPITAL LETTER I WITH DOT ABOVE' (U+0130)
var evt = document.createEvent("U\u0130Event");
});
- assert_throws("NOT_SUPPORTED_ERR", function() {
+ assert_throws_dom("NOT_SUPPORTED_ERR", function() {
// 'LATIN SMALL LETTER DOTLESS I' (U+0131)
var evt = document.createEvent("U\u0131Event");
});
@@ -144,7 +144,7 @@ var someNonCreateableEvents = [
];
someNonCreateableEvents.forEach(function (eventInterface) {
test(function () {
- assert_throws("NOT_SUPPORTED_ERR", function () {
+ assert_throws_dom("NOT_SUPPORTED_ERR", function () {
var evt = document.createEvent(eventInterface);
});
}, 'Should throw NOT_SUPPORTED_ERR for non-legacy event interface "' + eventInterface + '"');
@@ -152,7 +152,7 @@ someNonCreateableEvents.forEach(function (eventInterface) {
// SVGEvents is allowed, other plurals are not
if (eventInterface !== "SVGEvent") {
test(function () {
- assert_throws("NOT_SUPPORTED_ERR", function () {
+ assert_throws_dom("NOT_SUPPORTED_ERR", function () {
var evt = document.createEvent(eventInterface + "s");
});
}, 'Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "' + eventInterface + 's"');
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-createProcessingInstruction.js b/tests/wpt/web-platform-tests/dom/nodes/Document-createProcessingInstruction.js
index 114ac35d9f8..d6cc3725f03 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-createProcessingInstruction.js
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-createProcessingInstruction.js
@@ -17,7 +17,7 @@ test(function() {
for (var i = 0, il = invalid.length; i < il; i++) {
test(function() {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
document.createProcessingInstruction(invalid[i][0], invalid[i][1])
})
}, "Should throw an INVALID_CHARACTER_ERR for target " +
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-createTreeWalker.html b/tests/wpt/web-platform-tests/dom/nodes/Document-createTreeWalker.html
index f8f04b068fd..1e8420d8416 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-createTreeWalker.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-createTreeWalker.html
@@ -6,7 +6,7 @@
<div id=log></div>
<script>
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
document.createTreeWalker();
});
}, "Required arguments to createTreeWalker should be required.");
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html b/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html
index 5453da90da6..2b5a271ba41 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html
@@ -39,7 +39,7 @@ function checkModification(e, funcName, args, expectedRes, before, after,
obs.observe(e, { attributes: true });
}
if (shouldThrow) {
- assert_throws(expectedException, function() {
+ assert_throws_dom(expectedException, function() {
var list = e.classList;
var res = list[funcName].apply(list, args);
});
@@ -99,7 +99,7 @@ function testClassList(e, desc) {
// supports
test(function() {
- assert_throws(TypeError(), function() {
+ assert_throws_js(TypeError, function() {
e.classList.supports("a");
})
}, ".supports() must throw TypeError" + desc);
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html b/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html
index d03e56680d4..9eafee6a76e 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html
@@ -16,11 +16,11 @@ var target = document.getElementById("target");
var target2 = document.getElementById("target2");
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
target.insertAdjacentElement("test", document.getElementById("test1"))
});
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
target2.insertAdjacentElement("test", document.getElementById("test1"))
});
}, "Inserting to an invalid location should cause a Syntax Error exception")
@@ -69,7 +69,7 @@ test(function() {
var docElement = document.documentElement;
docElement.style.visibility="hidden";
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
var el = docElement.insertAdjacentElement("beforebegin", document.getElementById("test1"));
assert_equals(el, null);
});
@@ -82,7 +82,7 @@ test(function() {
assert_equals(docElement.lastChild.id, "test3");
assert_equals(el.id, "test3");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
var el = docElement.insertAdjacentElement("afterend", document.getElementById("test4"));
assert_equals(el, null);
});
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentText.html b/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentText.html
index 0fafabb519a..be744fd49eb 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentText.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Element-insertAdjacentText.html
@@ -13,11 +13,11 @@ var target = document.getElementById("target");
var target2 = document.getElementById("target2");
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
target.insertAdjacentText("test", "text")
});
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
target2.insertAdjacentText("test", "test")
});
}, "Inserting to an invalid location should cause a Syntax Error exception")
@@ -58,7 +58,7 @@ test(function() {
var docElement = document.documentElement;
docElement.style.visibility="hidden";
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
docElement.insertAdjacentText("beforebegin", "text1")
});
@@ -68,7 +68,7 @@ test(function() {
docElement.insertAdjacentText("beforeend", "test3");
assert_equals(docElement.lastChild.nodeValue, "test3");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
docElement.insertAdjacentText("afterend", "test4")
});
}, "Adding more than one child to document should cause a HierarchyRequestError exception")
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Element-matches.js b/tests/wpt/web-platform-tests/dom/nodes/Element-matches.js
index 6e5069fa5be..9494f6f0eac 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Element-matches.js
+++ b/tests/wpt/web-platform-tests/dom/nodes/Element-matches.js
@@ -31,7 +31,7 @@ function runSpecialMatchesTests(method, type, element) {
}, type + "." + method + "(undefined)")
test(function() { // 3
- assert_throws(TypeError(), function() {
+ assert_throws_js(element.ownerDocument.defaultView.TypeError, function() {
element[method]();
}, "This should throw a TypeError.")
}, type + "." + method + " no parameter")
@@ -49,7 +49,7 @@ function runInvalidSelectorTestMatches(method, type, root, selectors) {
var q = s["selector"];
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
root[method](q)
})
}, type + "." + method + ": " + n + ": " + q);
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Node-appendChild.html b/tests/wpt/web-platform-tests/dom/nodes/Node-appendChild.html
index 684607961a7..8264cb11a55 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Node-appendChild.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Node-appendChild.html
@@ -11,19 +11,19 @@
function testLeaf(node, desc) {
// WebIDL.
test(function() {
- assert_throws(new TypeError(), function() { node.appendChild(null) })
+ assert_throws_js(TypeError, function() { node.appendChild(null) })
}, "Appending null to a " + desc)
// Pre-insert step 1.
test(function() {
- assert_throws("HIERARCHY_REQUEST_ERR", function() { node.appendChild(document.createTextNode("fail")) })
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { node.appendChild(document.createTextNode("fail")) })
}, "Appending to a " + desc)
}
// WebIDL.
test(function() {
- assert_throws(new TypeError(), function() { document.body.appendChild(null) })
- assert_throws(new TypeError(), function() { document.body.appendChild({'a':'b'}) })
+ assert_throws_js(TypeError, function() { document.body.appendChild(null) })
+ assert_throws_js(TypeError, function() { document.body.appendChild({'a':'b'}) })
}, "WebIDL tests")
// WebIDL and pre-insert step 1.
@@ -36,7 +36,7 @@ test(function() {
// Pre-insert step 5.
test(function() {
var frameDoc = frames[0].document
- assert_throws("HIERARCHY_REQUEST_ERR", function() { document.body.appendChild(frameDoc) })
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { document.body.appendChild(frameDoc) })
}, "Appending a document")
// Pre-insert step 8.
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Node-contains-xml.xml b/tests/wpt/web-platform-tests/dom/nodes/Node-contains-xml.xml
index b95b7ffd1bd..3c026b02421 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Node-contains-xml.xml
+++ b/tests/wpt/web-platform-tests/dom/nodes/Node-contains-xml.xml
@@ -16,10 +16,10 @@
<script>
<![CDATA[
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
document.contains();
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
document.contains(9);
});
}, "Should throw TypeError if the arguments are wrong.");
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Node-insertBefore.html b/tests/wpt/web-platform-tests/dom/nodes/Node-insertBefore.html
index 2e511b8e9a2..6977501501d 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Node-insertBefore.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Node-insertBefore.html
@@ -13,23 +13,23 @@
function testLeafNode(nodeName, createNodeFunction) {
test(function() {
var node = createNodeFunction();
- assert_throws(new TypeError(), function() { node.insertBefore(null, null) })
+ assert_throws_js(TypeError, function() { node.insertBefore(null, null) })
}, "Calling insertBefore with a non-Node first argument on a leaf node " + nodeName + " must throw TypeError.")
test(function() {
var node = createNodeFunction();
- assert_throws("HIERARCHY_REQUEST_ERR", function() { node.insertBefore(document.createTextNode("fail"), null) })
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { node.insertBefore(document.createTextNode("fail"), null) })
// Would be step 2.
- assert_throws("HIERARCHY_REQUEST_ERR", function() { node.insertBefore(node, null) })
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { node.insertBefore(node, null) })
// Would be step 3.
- assert_throws("HIERARCHY_REQUEST_ERR", function() { node.insertBefore(node, document.createTextNode("child")) })
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { node.insertBefore(node, document.createTextNode("child")) })
}, "Calling insertBefore an a leaf node " + nodeName + " must throw HIERARCHY_REQUEST_ERR.")
}
test(function() {
// WebIDL.
- assert_throws(new TypeError(), function() { document.body.insertBefore(null, null) })
- assert_throws(new TypeError(), function() { document.body.insertBefore(null, document.body.firstChild) })
- assert_throws(new TypeError(), function() { document.body.insertBefore({'a':'b'}, document.body.firstChild) })
+ assert_throws_js(TypeError, function() { document.body.insertBefore(null, null) })
+ assert_throws_js(TypeError, function() { document.body.insertBefore(null, document.body.firstChild) })
+ assert_throws_js(TypeError, function() { document.body.insertBefore({'a':'b'}, document.body.firstChild) })
}, "Calling insertBefore with a non-Node first argument must throw TypeError.")
testLeafNode("DocumentType", function () { return document.doctype; } )
@@ -39,8 +39,8 @@ testLeafNode("ProcessingInstruction", function () { return document.createProces
test(function() {
// Step 2.
- assert_throws("HIERARCHY_REQUEST_ERR", function() { document.body.insertBefore(document.body, document.getElementById("log")) })
- assert_throws("HIERARCHY_REQUEST_ERR", function() { document.body.insertBefore(document.documentElement, document.getElementById("log")) })
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { document.body.insertBefore(document.body, document.getElementById("log")) })
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { document.body.insertBefore(document.documentElement, document.getElementById("log")) })
}, "Calling insertBefore with an inclusive ancestor of the context object must throw HIERARCHY_REQUEST_ERR.")
// Step 3.
@@ -48,7 +48,7 @@ test(function() {
var a = document.createElement("div");
var b = document.createElement("div");
var c = document.createElement("div");
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
a.insertBefore(b, c);
});
}, "Calling insertBefore with a reference child whose parent is not the context node must throw a NotFoundError.")
@@ -57,11 +57,11 @@ test(function() {
test(function() {
var doc = document.implementation.createHTMLDocument("title");
var doc2 = document.implementation.createHTMLDocument("title2");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doc2, doc.documentElement);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doc.createTextNode("text"), doc.documentElement);
});
}, "If the context node is a document, inserting a document or text node should throw a HierarchyRequestError.")
@@ -74,20 +74,20 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
df.appendChild(doc.createElement("b"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, null);
});
df = doc.createDocumentFragment();
df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, null);
});
df = doc.createDocumentFragment();
df.appendChild(doc.createComment("comment"));
df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, null);
});
}, "If the context node is a document, appending a DocumentFragment that contains a text node or too many elements should throw a HierarchyRequestError.")
@@ -98,20 +98,20 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
df.appendChild(doc.createElement("b"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, doc.firstChild);
});
df = doc.createDocumentFragment();
df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, doc.firstChild);
});
df = doc.createDocumentFragment();
df.appendChild(doc.createComment("comment"));
df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, doc.firstChild);
});
}, "If the context node is a document, inserting a DocumentFragment that contains a text node or too many elements should throw a HierarchyRequestError.")
@@ -125,16 +125,16 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, doc.doctype);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, doc.documentElement);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, comment);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, null);
});
}, "If the context node is a document, inserting a DocumentFragment with an element if there already is an element child should throw a HierarchyRequestError.")
@@ -147,7 +147,7 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, doc.doctype);
});
}, "If the context node is a document and a doctype is following the reference child, inserting a DocumentFragment with an element should throw a HierarchyRequestError.")
@@ -160,7 +160,7 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(df, comment);
});
}, "If the context node is a document, inserting a DocumentFragment with an element before the doctype should throw a HierarchyRequestError.")
@@ -173,16 +173,16 @@ test(function() {
assert_array_equals(doc.childNodes, [doc.doctype, doc.documentElement, comment]);
var a = doc.createElement("a");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(a, doc.doctype);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(a, doc.documentElement);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(a, comment);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(a, null);
});
}, "If the context node is a document, inserting an element if there already is an element child should throw a HierarchyRequestError.")
@@ -194,7 +194,7 @@ test(function() {
assert_array_equals(doc.childNodes, [comment, doc.doctype]);
var a = doc.createElement("a");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(a, doc.doctype);
});
}, "If the context node is a document, inserting an element before the doctype should throw a HierarchyRequestError.")
@@ -206,7 +206,7 @@ test(function() {
assert_array_equals(doc.childNodes, [comment, doc.doctype]);
var a = doc.createElement("a");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(a, comment);
});
}, "If the context node is a document and a doctype is following the reference child, inserting an element should throw a HierarchyRequestError.")
@@ -218,16 +218,16 @@ test(function() {
assert_array_equals(doc.childNodes, [comment, doc.doctype, doc.documentElement]);
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doctype, comment);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doctype, doc.doctype);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doctype, doc.documentElement);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doctype, null);
});
}, "If the context node is a document, inserting a doctype if there already is a doctype child should throw a HierarchyRequestError.")
@@ -238,7 +238,7 @@ test(function() {
assert_array_equals(doc.childNodes, [doc.documentElement, comment]);
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doctype, comment);
});
}, "If the context node is a document, inserting a doctype after the document element should throw a HierarchyRequestError.")
@@ -249,7 +249,7 @@ test(function() {
assert_array_equals(doc.childNodes, [doc.documentElement, comment]);
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.insertBefore(doctype, null);
});
}, "If the context node is a document with and element child, appending a doctype should throw a HierarchyRequestError.")
@@ -260,18 +260,18 @@ test(function() {
var a = df.appendChild(document.createElement("a"));
var doc = document.implementation.createHTMLDocument("title");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
df.insertBefore(doc, a);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
df.insertBefore(doc, null);
});
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
df.insertBefore(doctype, a);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
df.insertBefore(doctype, null);
});
}, "If the context node is a DocumentFragment, inserting a document or a doctype should throw a HierarchyRequestError.")
@@ -280,18 +280,18 @@ test(function() {
var a = el.appendChild(document.createElement("a"));
var doc = document.implementation.createHTMLDocument("title");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
el.insertBefore(doc, a);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
el.insertBefore(doc, null);
});
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
el.insertBefore(doctype, a);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
el.insertBefore(doctype, null);
});
}, "If the context node is an element, inserting a document or a doctype should throw a HierarchyRequestError.")
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Node-removeChild.html b/tests/wpt/web-platform-tests/dom/nodes/Node-removeChild.html
index fb225832220..a4581aadc9b 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Node-removeChild.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Node-removeChild.html
@@ -21,7 +21,7 @@ documents.forEach(function(d) {
var doc = get();
var s = doc[creator]("a")
assert_equals(s.ownerDocument, doc)
- assert_throws("NOT_FOUND_ERR", function() { document.body.removeChild(s) })
+ assert_throws_dom("NOT_FOUND_ERR", function() { document.body.removeChild(s) })
assert_equals(s.ownerDocument, doc)
}, "Passing a detached " + p + " from " + description +
" to removeChild should not affect it.")
@@ -31,7 +31,7 @@ documents.forEach(function(d) {
var s = doc[creator]("b")
doc.documentElement.appendChild(s)
assert_equals(s.ownerDocument, doc)
- assert_throws("NOT_FOUND_ERR", function() { document.body.removeChild(s) })
+ assert_throws_dom("NOT_FOUND_ERR", function() { document.body.removeChild(s) })
assert_equals(s.ownerDocument, doc)
}, "Passing a non-detached " + p + " from " + description +
" to removeChild should not affect it.")
@@ -41,14 +41,14 @@ documents.forEach(function(d) {
var s = doc[creator]("test")
doc.body.appendChild(s)
assert_equals(s.ownerDocument, doc)
- assert_throws("NOT_FOUND_ERR", function() { s.removeChild(doc) })
+ assert_throws_dom("NOT_FOUND_ERR", function() { s.removeChild(doc) })
}, "Calling removeChild on a " + p + " from " + description +
" with no children should throw NOT_FOUND_ERR.")
}
});
test(function() {
- assert_throws(new TypeError(), function() { document.body.removeChild(null) })
- assert_throws(new TypeError(), function() { document.body.removeChild({'a':'b'}) })
+ assert_throws_js(TypeError, function() { document.body.removeChild(null) })
+ assert_throws_js(TypeError, function() { document.body.removeChild({'a':'b'}) })
}, "Passing a value that is not a Node reference to removeChild should throw TypeError.")
</script>
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Node-replaceChild.html b/tests/wpt/web-platform-tests/dom/nodes/Node-replaceChild.html
index 3c289a4c14d..e942cfa3ec4 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Node-replaceChild.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Node-replaceChild.html
@@ -15,15 +15,15 @@
// IDL.
test(function() {
var a = document.createElement("div");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
a.replaceChild(null, null);
});
var b = document.createElement("div");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
a.replaceChild(b, null);
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
a.replaceChild(null, b);
});
}, "Passing null to replaceChild should throw a TypeError.")
@@ -33,16 +33,16 @@ test(function() {
var a = document.createElement("div");
var b = document.createElement("div");
var c = document.createElement("div");
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
a.replaceChild(b, c);
});
var d = document.createElement("div");
d.appendChild(b);
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
a.replaceChild(b, c);
});
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
a.replaceChild(b, a);
});
}, "If child's parent is not the context node, a NotFoundError exception should be thrown");
@@ -54,7 +54,7 @@ test(function() {
var a = document.createElement("div");
var b = document.createElement("div");
nodes.forEach(function(node) {
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
node.replaceChild(a, b);
});
});
@@ -65,18 +65,18 @@ test(function() {
var a = document.createElement("div");
var b = document.createElement("div");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
a.replaceChild(a, a);
});
a.appendChild(b);
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
a.replaceChild(a, b);
});
var c = document.createElement("div");
c.appendChild(a);
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
a.replaceChild(c, b);
});
}, "If node is an inclusive ancestor of the context node, a HierarchyRequestError should be thrown.")
@@ -85,11 +85,11 @@ test(function() {
test(function() {
var doc = document.implementation.createHTMLDocument("title");
var doc2 = document.implementation.createHTMLDocument("title2");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(doc2, doc.documentElement);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(doc.createTextNode("text"), doc.documentElement);
});
}, "If the context node is a document, inserting a document or text node should throw a HierarchyRequestError.")
@@ -101,20 +101,20 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
df.appendChild(doc.createElement("b"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(df, doc.documentElement);
});
df = doc.createDocumentFragment();
df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(df, doc.documentElement);
});
df = doc.createDocumentFragment();
df.appendChild(doc.createComment("comment"));
df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(df, doc.documentElement);
});
}, "If the context node is a document, inserting a DocumentFragment that contains a text node or too many elements should throw a HierarchyRequestError.")
@@ -125,7 +125,7 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
df.appendChild(doc.createElement("b"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(df, doc.doctype);
});
}, "If the context node is a document (without element children), inserting a DocumentFragment that contains multiple elements should throw a HierarchyRequestError.")
@@ -139,10 +139,10 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(df, comment);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(df, doc.doctype);
});
}, "If the context node is a document, inserting a DocumentFragment with an element if there already is an element child should throw a HierarchyRequestError.")
@@ -155,7 +155,7 @@ test(function() {
var df = doc.createDocumentFragment();
df.appendChild(doc.createElement("a"));
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(df, comment);
});
}, "If the context node is a document, inserting a DocumentFragment with an element before the doctype should throw a HierarchyRequestError.")
@@ -167,10 +167,10 @@ test(function() {
assert_array_equals(doc.childNodes, [doc.doctype, doc.documentElement, comment]);
var a = doc.createElement("a");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(a, comment);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(a, doc.doctype);
});
}, "If the context node is a document, inserting an element if there already is an element child should throw a HierarchyRequestError.")
@@ -181,7 +181,7 @@ test(function() {
assert_array_equals(doc.childNodes, [comment, doc.doctype]);
var a = doc.createElement("a");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(a, comment);
});
}, "If the context node is a document, inserting an element before the doctype should throw a HierarchyRequestError.")
@@ -193,10 +193,10 @@ test(function() {
assert_array_equals(doc.childNodes, [comment, doc.doctype, doc.documentElement]);
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(doctype, comment);
});
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(doctype, doc.documentElement);
});
}, "If the context node is a document, inserting a doctype if there already is a doctype child should throw a HierarchyRequestError.")
@@ -207,7 +207,7 @@ test(function() {
assert_array_equals(doc.childNodes, [doc.documentElement, comment]);
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.replaceChild(doctype, comment);
});
}, "If the context node is a document, inserting a doctype after the document element should throw a HierarchyRequestError.")
@@ -218,12 +218,12 @@ test(function() {
var a = df.appendChild(document.createElement("a"));
var doc = document.implementation.createHTMLDocument("title");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
df.replaceChild(doc, a);
});
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
df.replaceChild(doctype, a);
});
}, "If the context node is a DocumentFragment, inserting a document or a doctype should throw a HierarchyRequestError.")
@@ -232,12 +232,12 @@ test(function() {
var a = el.appendChild(document.createElement("a"));
var doc = document.implementation.createHTMLDocument("title");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
el.replaceChild(doc, a);
});
var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
el.replaceChild(doctype, a);
});
}, "If the context node is an element, inserting a document or a doctype should throw a HierarchyRequestError.")
diff --git a/tests/wpt/web-platform-tests/dom/nodes/ParentNode-querySelector-All.js b/tests/wpt/web-platform-tests/dom/nodes/ParentNode-querySelector-All.js
index dd789b72da2..3d424f750b9 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/ParentNode-querySelector-All.js
+++ b/tests/wpt/web-platform-tests/dom/nodes/ParentNode-querySelector-All.js
@@ -102,6 +102,8 @@ function verifyStaticList(type, doc, root) {
* null and undefined, and the handling of the empty string.
*/
function runSpecialSelectorTests(type, root) {
+ let global = (root.ownerDocument || root).defaultView;
+
test(function() { // 1
assert_equals(root.querySelectorAll(null).length, 1, "This should find one element with the tag name 'NULL'.");
}, type + ".querySelectorAll null")
@@ -111,7 +113,7 @@ function runSpecialSelectorTests(type, root) {
}, type + ".querySelectorAll undefined")
test(function() { // 3
- assert_throws(TypeError(), function() {
+ assert_throws_js(global.TypeError, function() {
root.querySelectorAll();
}, "This should throw a TypeError.")
}, type + ".querySelectorAll no parameter")
@@ -129,7 +131,7 @@ function runSpecialSelectorTests(type, root) {
}, type + ".querySelector undefined")
test(function() { // 6
- assert_throws(TypeError(), function() {
+ assert_throws_js(global.TypeError, function() {
root.querySelector();
}, "This should throw a TypeError.")
}, type + ".querySelector no parameter")
@@ -216,13 +218,13 @@ function runInvalidSelectorTest(type, root, selectors) {
var q = s["selector"];
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
root.querySelector(q)
})
}, type + ".querySelector: " + n + ": " + q);
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
root.querySelectorAll(q)
})
}, type + ".querySelectorAll: " + n + ": " + q);
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Text-splitText.html b/tests/wpt/web-platform-tests/dom/nodes/Text-splitText.html
index aec1cee52ed..2dd23018cb4 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Text-splitText.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Text-splitText.html
@@ -8,7 +8,7 @@
<script>
test(function() {
var text = document.createTextNode("camembert");
- assert_throws("INDEX_SIZE_ERR", function () { text.splitText(10) });
+ assert_throws_dom("INDEX_SIZE_ERR", function () { text.splitText(10) });
}, "Split text after end of data");
test(function() {
diff --git a/tests/wpt/web-platform-tests/dom/nodes/adoption.window.js b/tests/wpt/web-platform-tests/dom/nodes/adoption.window.js
index 86893a4ae77..ad90aaf375a 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/adoption.window.js
+++ b/tests/wpt/web-platform-tests/dom/nodes/adoption.window.js
@@ -47,7 +47,7 @@ test(() => {
const df = dfTest.creator(doc);
const child = df.appendChild(new Text('hi'));
if (dfTest.name === "ShadowRoot") {
- assert_throws("HierarchyRequestError", () => document.adoptNode(df));
+ assert_throws_dom("HierarchyRequestError", () => document.adoptNode(df));
} else {
document.adoptNode(df);
assert_equals(df.childNodes.length, 1);
diff --git a/tests/wpt/web-platform-tests/dom/nodes/append-on-Document.html b/tests/wpt/web-platform-tests/dom/nodes/append-on-Document.html
index 8d9ce2e3ff6..78f278b3815 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/append-on-Document.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/append-on-Document.html
@@ -27,13 +27,13 @@ function test_append_on_Document() {
var x = document.createElement('x');
var y = document.createElement('y');
parent.appendChild(x);
- assert_throws('HierarchyRequestError', function() { parent.append(y); });
+ assert_throws_dom('HierarchyRequestError', function() { parent.append(y); });
assert_array_equals(parent.childNodes, [x]);
}, 'Document.append() with only one element as an argument, on a Document having one child.');
test(function() {
var parent = node.cloneNode();
- assert_throws('HierarchyRequestError', function() { parent.append('text'); });
+ assert_throws_dom('HierarchyRequestError', function() { parent.append('text'); });
assert_array_equals(parent.childNodes, []);
}, 'Document.append() with text as an argument, on a Document having no child.');
@@ -41,7 +41,7 @@ function test_append_on_Document() {
var parent = node.cloneNode();
var x = document.createElement('x');
var y = document.createElement('y');
- assert_throws('HierarchyRequestError', function() { parent.append(x, y); });
+ assert_throws_dom('HierarchyRequestError', function() { parent.append(x, y); });
assert_array_equals(parent.childNodes, []);
}, 'Document.append() with two elements as the argument, on a Document having no child.');
diff --git a/tests/wpt/web-platform-tests/dom/nodes/attributes.html b/tests/wpt/web-platform-tests/dom/nodes/attributes.html
index dac191b54cb..65bea67173d 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/attributes.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/attributes.html
@@ -25,30 +25,30 @@ var XMLNS = "http://www.w3.org/2000/xmlns/"
test(function() {
var el = document.createElement("foo")
for (var i = 0; i < invalid_names.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i], true) })
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i], true) })
}
for (var i = 0; i < invalid_names.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i]) })
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i]) })
}
for (var i = 0; i < invalid_names.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i], false) })
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i], false) })
}
}, "When qualifiedName does not match the Name production, an " +
"INVALID_CHARACTER_ERR exception is to be thrown. (toggleAttribute)")
test(function() {
var el = document.getElementById("test2")
for (var i = 0; i < el.children.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
el.children[i].toggleAttribute("~", false)
})
}
for (var i = 0; i < el.children.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
el.children[i].toggleAttribute("~")
})
}
for (var i = 0; i < el.children.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
el.children[i].toggleAttribute("~", true)
})
}
@@ -147,14 +147,14 @@ test(function() {
test(function() {
var el = document.createElement("foo")
for (var i = 0; i < invalid_names.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() { el.setAttribute(invalid_names[i], "test") })
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() { el.setAttribute(invalid_names[i], "test") })
}
}, "When qualifiedName does not match the Name production, an " +
"INVALID_CHARACTER_ERR exception is to be thrown. (setAttribute)")
test(function() {
var el = document.getElementById("test2")
for (var i = 0; i < el.children.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
el.children[i].setAttribute("~", "test")
})
}
@@ -231,7 +231,7 @@ test(function() {
test(function() {
var el = document.createElement("foo")
for (var i = 0, il = invalid_names.length; i < il; ++i) {
- assert_throws("INVALID_CHARACTER_ERR",
+ assert_throws_dom("INVALID_CHARACTER_ERR",
function() { el.setAttributeNS("a", invalid_names[i], "fail") })
}
}, "When qualifiedName does not match the Name production, an " +
@@ -240,7 +240,7 @@ test(function() {
test(function() {
var el = document.getElementById("test2")
for (var i = 0; i < el.children.length; i++) {
- assert_throws("INVALID_CHARACTER_ERR", function() {
+ assert_throws_dom("INVALID_CHARACTER_ERR", function() {
el.children[i].setAttributeNS(null, "~", "test")
})
}
@@ -252,7 +252,7 @@ test(function() {
test(function() {
var el = document.createElement("foo")
for (var i = 0, il = invalid_qnames.length; i < il; ++i) {
- assert_throws("INVALID_CHARACTER_ERR",
+ assert_throws_dom("INVALID_CHARACTER_ERR",
function() { el.setAttributeNS("a", invalid_qnames[i], "fail") },
"Expected exception for " + invalid_qnames[i] + ".")
}
@@ -271,16 +271,16 @@ test(function() {
// Step 4
test(function() {
var el = document.createElement("foo")
- assert_throws("NAMESPACE_ERR",
+ assert_throws_dom("NAMESPACE_ERR",
function() { el.setAttributeNS("", "aa:bb", "fail") })
- assert_throws("NAMESPACE_ERR",
+ assert_throws_dom("NAMESPACE_ERR",
function() { el.setAttributeNS(null, "aa:bb", "fail") })
}, "A namespace is required to use a prefix.")
// Step 5
test(function() {
var el = document.createElement("foo")
- assert_throws("NAMESPACE_ERR",
+ assert_throws_dom("NAMESPACE_ERR",
function() { el.setAttributeNS("a", "xml:bb", "fail") })
}, "The xml prefix should not be allowed for arbitrary namespaces")
test(function() {
@@ -293,12 +293,12 @@ test(function() {
// Step 6
test(function() {
var el = document.createElement("foo")
- assert_throws("NAMESPACE_ERR",
+ assert_throws_dom("NAMESPACE_ERR",
function() { el.setAttributeNS("a", "xmlns:bb", "fail") })
}, "The xmlns prefix should not be allowed for arbitrary namespaces")
test(function() {
var el = document.createElement("foo")
- assert_throws("NAMESPACE_ERR",
+ assert_throws_dom("NAMESPACE_ERR",
function() { el.setAttributeNS("a", "xmlns", "fail") })
}, "The xmlns qualified name should not be allowed for arbitrary namespaces")
test(function() {
@@ -311,9 +311,9 @@ test(function() {
// Step 7
test(function() {
var el = document.createElement("foo")
- assert_throws("NAMESPACE_ERR",
+ assert_throws_dom("NAMESPACE_ERR",
function() { el.setAttributeNS(XMLNS, "a:xmlns", "fail") })
- assert_throws("NAMESPACE_ERR",
+ assert_throws_dom("NAMESPACE_ERR",
function() { el.setAttributeNS(XMLNS, "b:foo", "fail") })
}, "The XMLNS namespace should require xmlns as prefix or qualified name")
test(function() {
@@ -607,7 +607,7 @@ test(function() {
var attr = document.createAttribute("foo");
assert_equals(el.setAttributeNode(attr), null);
assert_equals(attr.ownerElement, el);
- assert_throws("INUSE_ATTRIBUTE_ERR",
+ assert_throws_dom("INUSE_ATTRIBUTE_ERR",
function() { other.setAttributeNode(attr) },
"Attribute already associated with el")
}, "If attr’s element is neither null nor element, throw an InUseAttributeError.");
@@ -637,7 +637,7 @@ test(function() {
el.setAttribute("foo", "bar")
var attrNode = el.getAttributeNode("foo");
var el2 = document.createElement("div");
- assert_throws("INUSE_ATTRIBUTE_ERR", function(){el2.setAttributeNode(attrNode)});
+ assert_throws_dom("INUSE_ATTRIBUTE_ERR", function(){el2.setAttributeNode(attrNode)});
}, "setAttributeNode on bound attribute should throw InUseAttributeError")
// Have to use an async_test to see what a DOMAttrModified listener sees,
diff --git a/tests/wpt/web-platform-tests/dom/nodes/insert-adjacent.html b/tests/wpt/web-platform-tests/dom/nodes/insert-adjacent.html
index 247b7d1742b..68b6f4ee663 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/insert-adjacent.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/insert-adjacent.html
@@ -43,31 +43,31 @@ Object.keys(possiblePositions).forEach(function(position) {
});
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
el.insertAdjacentElement('afterbegin',
document.implementation.createDocumentType("html"))
})
}, 'invalid object argument insertAdjacentElement')
test(function() {
var el = document.implementation.createHTMLDocument().documentElement;
- assert_throws("HIERARCHY_REQUEST_ERR", function() {
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() {
el.insertAdjacentElement('beforebegin', document.createElement('banane'))
})
}, 'invalid caller object insertAdjacentElement')
test(function() {
var el = document.implementation.createHTMLDocument().documentElement;
- assert_throws("HIERARCHY_REQUEST_ERR", function() {
+ assert_throws_dom("HIERARCHY_REQUEST_ERR", function() {
el.insertAdjacentText('beforebegin', 'tomate farcie')
})
}, 'invalid caller object insertAdjacentText')
test(function() {
var div = document.createElement('h3');
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
el.insertAdjacentElement('heeeee', div)
})
}, "invalid syntax for insertAdjacentElement")
test(function() {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
el.insertAdjacentText('hoooo', 'magret de canard')
})
}, "invalid syntax for insertAdjacentText")
diff --git a/tests/wpt/web-platform-tests/dom/nodes/pre-insertion-checks.js b/tests/wpt/web-platform-tests/dom/nodes/pre-insertion-checks.js
index ab4d811d5b4..705283fa235 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/pre-insertion-checks.js
+++ b/tests/wpt/web-platform-tests/dom/nodes/pre-insertion-checks.js
@@ -31,7 +31,7 @@ test(function() {
var child = document.createElement("div");
var node = document.createElement("div");
illegalParents.forEach(function (parent) {
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
insertFunc.call(parent, node, child);
});
});
@@ -44,7 +44,7 @@ test(function() {
var node = document.createElement("div");
node.appendChild(parent);
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
insertFunc.call(parent, node, child);
});
}, "Should check that 'node' is not an ancestor of 'parent' before checking whether 'child' is a child of 'parent'");
@@ -56,7 +56,7 @@ test(function() {
var illegalChildren = getNonInsertableNodes();
illegalChildren.forEach(function (node) {
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
insertFunc.call(parent, node, child);
});
});
@@ -69,13 +69,13 @@ test(function() {
var node = document.createTextNode("");
var parent = document.implementation.createDocument(null, "foo", null);
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
insertFunc.call(parent, node, child);
});
node = document.implementation.createDocumentType("html", "", "");
getNonDocumentParentNodes().forEach(function (parent) {
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
insertFunc.call(parent, node, child);
});
});
@@ -89,20 +89,20 @@ test(function() {
var node = document.createDocumentFragment();
node.appendChild(document.createElement("div"));
node.appendChild(document.createElement("div"));
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
insertFunc.call(parent, node, child);
});
node = document.createElement("div");
parent.appendChild(document.createElement("div"));
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
insertFunc.call(parent, node, child);
});
parent.firstChild.remove();
parent.appendChild(document.implementation.createDocumentType("html", "", ""));
node = document.implementation.createDocumentType("html", "", "")
- assert_throws("NotFoundError", function() {
+ assert_throws_dom("NotFoundError", function() {
insertFunc.call(parent, node, child);
});
}, "Should check whether 'child' is a child of 'parent' before checking whether 'node' can be inserted into the document given the kids the document has right now.");
diff --git a/tests/wpt/web-platform-tests/dom/nodes/prepend-on-Document.html b/tests/wpt/web-platform-tests/dom/nodes/prepend-on-Document.html
index ccc56894d0a..1d6d43a4639 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/prepend-on-Document.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/prepend-on-Document.html
@@ -27,13 +27,13 @@ function test_prepend_on_Document() {
var x = document.createElement('x');
var y = document.createElement('y');
parent.appendChild(x);
- assert_throws('HierarchyRequestError', function() { parent.prepend(y); });
+ assert_throws_dom('HierarchyRequestError', function() { parent.prepend(y); });
assert_array_equals(parent.childNodes, [x]);
}, 'Document.append() with only one element as an argument, on a Document having one child.');
test(function() {
var parent = node.cloneNode();
- assert_throws('HierarchyRequestError', function() { parent.prepend('text'); });
+ assert_throws_dom('HierarchyRequestError', function() { parent.prepend('text'); });
assert_array_equals(parent.childNodes, []);
}, 'Document.prepend() with text as an argument, on a Document having no child.');
@@ -41,7 +41,7 @@ function test_prepend_on_Document() {
var parent = node.cloneNode();
var x = document.createElement('x');
var y = document.createElement('y');
- assert_throws('HierarchyRequestError', function() { parent.prepend(x, y); });
+ assert_throws_dom('HierarchyRequestError', function() { parent.prepend(x, y); });
assert_array_equals(parent.childNodes, []);
}, 'Document.prepend() with two elements as the argument, on a Document having no child.');
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-cloneContents.html b/tests/wpt/web-platform-tests/dom/ranges/Range-cloneContents.html
index bf75c920409..73bce345725 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-cloneContents.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-cloneContents.html
@@ -312,7 +312,7 @@ function testCloneContents(i) {
expectedFrag = myCloneContents(expectedRange);
if (typeof expectedFrag == "string") {
- assert_throws(expectedFrag, function() {
+ assert_throws_dom(expectedFrag, function() {
actualRange.cloneContents();
});
} else {
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html b/tests/wpt/web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html
index 48413ecd81e..9d150ae0ab8 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html
@@ -118,7 +118,7 @@ for (var i = 0; i < testRangesCached.length; i++) {
&& convertedHow != Range.START_TO_END
&& convertedHow != Range.END_TO_END
&& convertedHow != Range.END_TO_START) {
- assert_throws("NOT_SUPPORTED_ERR", function() {
+ assert_throws_dom("NOT_SUPPORTED_ERR", function() {
range1.compareBoundaryPoints(how, range2);
}, "NotSupportedError required if first parameter doesn't convert to 0-3 per WebIDL");
return;
@@ -128,7 +128,7 @@ for (var i = 0; i < testRangesCached.length; i++) {
// root, throw a "WrongDocumentError" exception and terminate
// these steps."
if (furthestAncestor(range1.startContainer) != furthestAncestor(range2.startContainer)) {
- assert_throws("WRONG_DOCUMENT_ERR", function() {
+ assert_throws_dom("WRONG_DOCUMENT_ERR", function() {
range1.compareBoundaryPoints(how, range2);
}, "WrongDocumentError required if the ranges don't share a root");
return;
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint-2.html b/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint-2.html
index 356c8d351fb..30a6c57ad9d 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint-2.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint-2.html
@@ -13,11 +13,11 @@ test(function() {
})
test(function() {
var r = document.createRange();
- assert_throws(new TypeError(), function() { r.comparePoint(null, 0) })
+ assert_throws_js(TypeError, function() { r.comparePoint(null, 0) })
})
test(function() {
var doc = document.implementation.createHTMLDocument("tralala")
var r = document.createRange();
- assert_throws("WRONG_DOCUMENT_ERR", function() { r.comparePoint(doc.body, 0) })
+ assert_throws_dom("WRONG_DOCUMENT_ERR", function() { r.comparePoint(doc.body, 0) })
})
</script>
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint.html b/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint.html
index 95264796be8..e18ac95c4ca 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-comparePoint.html
@@ -41,7 +41,7 @@ for (var i = 0; i < testPoints.length; i++) {
// throw a "WrongDocumentError" exception and terminate these
// steps."
if (furthestAncestor(node) !== furthestAncestor(range.startContainer)) {
- assert_throws("WRONG_DOCUMENT_ERR", function() {
+ assert_throws_dom("WRONG_DOCUMENT_ERR", function() {
range.comparePoint(node, offset);
}, "Must throw WrongDocumentError if node and range have different roots");
return;
@@ -50,7 +50,7 @@ for (var i = 0; i < testPoints.length; i++) {
// "If node is a doctype, throw an "InvalidNodeTypeError" exception
// and terminate these steps."
if (node.nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
range.comparePoint(node, offset);
}, "Must throw InvalidNodeTypeError if node is a doctype");
return;
@@ -59,7 +59,7 @@ for (var i = 0; i < testPoints.length; i++) {
// "If offset is greater than node's length, throw an
// "IndexSizeError" exception and terminate these steps."
if (normalizedOffset > nodeLength(node)) {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
range.comparePoint(node, offset);
}, "Must throw IndexSizeError if offset is greater than length");
return;
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-extractContents.html b/tests/wpt/web-platform-tests/dom/ranges/Range-extractContents.html
index 098837f0ce5..b43769ebc01 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-extractContents.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-extractContents.html
@@ -95,7 +95,7 @@ function testExtractContents(i) {
expectedFrag = myExtractContents(expectedRange);
if (typeof expectedFrag == "string") {
- assert_throws(expectedFrag, function() {
+ assert_throws_dom(expectedFrag, function() {
actualRange.extractContents();
});
} else {
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-insertNode.html b/tests/wpt/web-platform-tests/dom/ranges/Range-insertNode.html
index 4c4073b2156..aca3a23ff5d 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-insertNode.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-insertNode.html
@@ -138,7 +138,7 @@ function testInsertNode(i, j) {
throw e;
}
if (typeof result == "string") {
- assert_throws(result, function() {
+ assert_throws_dom(result, function() {
try {
actualRange.insertNode(actualNode);
} catch (e) {
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-intersectsNode-binding.html b/tests/wpt/web-platform-tests/dom/ranges/Range-intersectsNode-binding.html
index 729388428ec..57d159b0303 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-intersectsNode-binding.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-intersectsNode-binding.html
@@ -8,18 +8,18 @@
<script>
test(function() {
var r = document.createRange();
- assert_throws(new TypeError(), function() { r.intersectsNode(); });
- assert_throws(new TypeError(), function() { r.intersectsNode(null); });
- assert_throws(new TypeError(), function() { r.intersectsNode(undefined); });
- assert_throws(new TypeError(), function() { r.intersectsNode(42); });
- assert_throws(new TypeError(), function() { r.intersectsNode("foo"); });
- assert_throws(new TypeError(), function() { r.intersectsNode({}); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(null); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(undefined); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(42); });
+ assert_throws_js(TypeError, function() { r.intersectsNode("foo"); });
+ assert_throws_js(TypeError, function() { r.intersectsNode({}); });
r.detach();
- assert_throws(new TypeError(), function() { r.intersectsNode(); });
- assert_throws(new TypeError(), function() { r.intersectsNode(null); });
- assert_throws(new TypeError(), function() { r.intersectsNode(undefined); });
- assert_throws(new TypeError(), function() { r.intersectsNode(42); });
- assert_throws(new TypeError(), function() { r.intersectsNode("foo"); });
- assert_throws(new TypeError(), function() { r.intersectsNode({}); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(null); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(undefined); });
+ assert_throws_js(TypeError, function() { r.intersectsNode(42); });
+ assert_throws_js(TypeError, function() { r.intersectsNode("foo"); });
+ assert_throws_js(TypeError, function() { r.intersectsNode({}); });
}, "Calling intersectsNode without an argument or with an invalid argument should throw a TypeError.")
</script>
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-isPointInRange.html b/tests/wpt/web-platform-tests/dom/ranges/Range-isPointInRange.html
index fa87442b8ab..80db97e844c 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-isPointInRange.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-isPointInRange.html
@@ -48,7 +48,7 @@ for (var i = 0; i < testPoints.length; i++) {
// "If node is a doctype, throw an "InvalidNodeTypeError" exception
// and terminate these steps."
if (node.nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
range.isPointInRange(node, offset);
}, "Must throw InvalidNodeTypeError if node is a doctype");
return;
@@ -57,7 +57,7 @@ for (var i = 0; i < testPoints.length; i++) {
// "If offset is greater than node's length, throw an
// "IndexSizeError" exception and terminate these steps."
if (normalizedOffset > nodeLength(node)) {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
range.isPointInRange(node, offset);
}, "Must throw IndexSizeError if offset is greater than length");
return;
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-selectNode.html b/tests/wpt/web-platform-tests/dom/ranges/Range-selectNode.html
index 6311a84b9e6..fe9b1f7860b 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-selectNode.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-selectNode.html
@@ -14,17 +14,17 @@ function testSelectNode(range, node) {
range.collapsed;
} catch (e) {
// Range is detached
- assert_throws("INVALID_STATE_ERR", function () {
+ assert_throws_dom("INVALID_STATE_ERR", function () {
range.selectNode(node);
}, "selectNode() on a detached node must throw INVALID_STATE_ERR");
- assert_throws("INVALID_STATE_ERR", function () {
+ assert_throws_dom("INVALID_STATE_ERR", function () {
range.selectNodeContents(node);
}, "selectNodeContents() on a detached node must throw INVALID_STATE_ERR");
return;
}
if (!node.parentNode) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
range.selectNode(node);
}, "selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR");
} else {
@@ -45,7 +45,7 @@ function testSelectNode(range, node) {
}
if (node.nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function () {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function () {
range.selectNodeContents(node);
}, "selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR");
} else {
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-set.html b/tests/wpt/web-platform-tests/dom/ranges/Range-set.html
index 5b43c04f418..694fc607497 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-set.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-set.html
@@ -12,14 +12,14 @@
function testSetStart(range, node, offset) {
if (node.nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
range.setStart(node, offset);
}, "setStart() to a doctype must throw INVALID_NODE_TYPE_ERR");
return;
}
if (offset < 0 || offset > nodeLength(node)) {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
range.setStart(node, offset);
}, "setStart() to a too-large offset must throw INDEX_SIZE_ERR");
return;
@@ -51,14 +51,14 @@ function testSetStart(range, node, offset) {
function testSetEnd(range, node, offset) {
if (node.nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
range.setEnd(node, offset);
}, "setEnd() to a doctype must throw INVALID_NODE_TYPE_ERR");
return;
}
if (offset < 0 || offset > nodeLength(node)) {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
range.setEnd(node, offset);
}, "setEnd() to a too-large offset must throw INDEX_SIZE_ERR");
return;
@@ -91,7 +91,7 @@ function testSetEnd(range, node, offset) {
function testSetStartBefore(range, node) {
var parent = node.parentNode;
if (parent === null) {
- assert_throws("INVALID_NODE_TYPE_ERR", function () {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function () {
range.setStartBefore(node);
}, "setStartBefore() to a node with null parent must throw INVALID_NODE_TYPE_ERR");
return;
@@ -108,7 +108,7 @@ function testSetStartBefore(range, node) {
function testSetStartAfter(range, node) {
var parent = node.parentNode;
if (parent === null) {
- assert_throws("INVALID_NODE_TYPE_ERR", function () {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function () {
range.setStartAfter(node);
}, "setStartAfter() to a node with null parent must throw INVALID_NODE_TYPE_ERR");
return;
@@ -125,7 +125,7 @@ function testSetStartAfter(range, node) {
function testSetEndBefore(range, node) {
var parent = node.parentNode;
if (parent === null) {
- assert_throws("INVALID_NODE_TYPE_ERR", function () {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function () {
range.setEndBefore(node);
}, "setEndBefore() to a node with null parent must throw INVALID_NODE_TYPE_ERR");
return;
@@ -142,7 +142,7 @@ function testSetEndBefore(range, node) {
function testSetEndAfter(range, node) {
var parent = node.parentNode;
if (parent === null) {
- assert_throws("INVALID_NODE_TYPE_ERR", function () {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function () {
range.setEndAfter(node);
}, "setEndAfter() to a node with null parent must throw INVALID_NODE_TYPE_ERR");
return;
diff --git a/tests/wpt/web-platform-tests/dom/ranges/Range-surroundContents.html b/tests/wpt/web-platform-tests/dom/ranges/Range-surroundContents.html
index e8cc11b24e7..c4ff0509f8f 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/Range-surroundContents.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/Range-surroundContents.html
@@ -181,7 +181,7 @@ function testSurroundContents(i, j) {
throw e;
}
if (typeof result == "string") {
- assert_throws(result, function() {
+ assert_throws_dom(result, function() {
try {
actualRange.surroundContents(actualNode);
} catch (e) {
diff --git a/tests/wpt/web-platform-tests/dom/ranges/StaticRange-constructor.html b/tests/wpt/web-platform-tests/dom/ranges/StaticRange-constructor.html
index 55a969415ce..6aae93f49b9 100644
--- a/tests/wpt/web-platform-tests/dom/ranges/StaticRange-constructor.html
+++ b/tests/wpt/web-platform-tests/dom/ranges/StaticRange-constructor.html
@@ -158,42 +158,42 @@ test(function() {
}, 'Construct static range with endpoints in disconnected documents');
test(function() {
- assert_throws('INVALID_NODE_TYPE_ERR', function() {
+ assert_throws_dom('INVALID_NODE_TYPE_ERR', function() {
const staticRange = new StaticRange({startContainer: document.doctype, startOffset: 0, endContainer: document.doctype, endOffset: 0});
}, 'throw a InvalidNodeTypeError when a DocumentType is passed as a startContainer or endContainer');
- assert_throws('INVALID_NODE_TYPE_ERR', function() {
+ assert_throws_dom('INVALID_NODE_TYPE_ERR', function() {
const testAttrNode = testDiv.getAttributeNode('id');
const staticRange = new StaticRange({startContainer: testAttrNode, startOffset: 0, endContainer: testAttrNode, endOffset: 0});
}, 'throw a InvalidNodeTypeError when a Attr is passed as a startContainer or endContainer');
}, 'Throw on DocumentType or Attr container');
test(function () {
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
const staticRange = new StaticRange();
}, 'throw a TypeError when no argument is passed');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
const staticRange = new StaticRange({startOffset: 0, endContainer: testDiv, endOffset: 0});
}, 'throw a TypeError when a startContainer is not passed');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
const staticRange = new StaticRange({startContainer: testDiv, endContainer: testDiv, endOffset: 0});
}, 'throw a TypeError when a startOffset is not passed');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
const staticRange = new StaticRange({startContainer: testDiv, startOffset: 0, endOffset: 0});
}, 'throw a TypeError when an endContainer is not passed');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
const staticRange = new StaticRange({startContainer: testDiv, startOffset: 0, endContainer: testDiv});
}, 'throw a TypeError when an endOffset is not passed');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
const staticRange = new StaticRange({startContainer: null, startOffset: 0, endContainer: testDiv, endOffset: 0});
}, 'throw a TypeError when a null startContainer is passed');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
const staticRange = new StaticRange({startContainer: testDiv, startOffset: 0, endContainer: null, endOffset: 0});
}, 'throw a TypeError when a null endContainer is passed');
}, 'Throw on missing or invalid arguments');
diff --git a/tests/wpt/web-platform-tests/dom/traversal/NodeIterator.html b/tests/wpt/web-platform-tests/dom/traversal/NodeIterator.html
index 3db5dec0707..fb81676cc5b 100644
--- a/tests/wpt/web-platform-tests/dom/traversal/NodeIterator.html
+++ b/tests/wpt/web-platform-tests/dom/traversal/NodeIterator.html
@@ -47,9 +47,10 @@ test(function() {
}, "createNodeIterator() with undefined as arguments");
test(function() {
+ var err = {name: "failed"};
var iter = document.createNodeIterator(document, NodeFilter.SHOW_ALL,
- function() { throw {name: "failed"} });
- assert_throws({name: "failed"}, function() { iter.nextNode() });
+ function() { throw err; });
+ assert_throws_exactly(err, function() { iter.nextNode() });
}, "Propagate exception from filter function");
test(function() {
@@ -64,9 +65,9 @@ test(function() {
});
iter.nextNode();
iter.nextNode();
- assert_throws("InvalidStateError", function() { iter.nextNode() });
+ assert_throws_dom("InvalidStateError", function() { iter.nextNode() });
depth--;
- assert_throws("InvalidStateError", function() { iter.previousNode() });
+ assert_throws_dom("InvalidStateError", function() { iter.previousNode() });
}, "Recursive filters need to throw");
function testIterator(root, whatToShow, filter) {
diff --git a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html
index 5d521f016f4..8b5ff9a9bba 100644
--- a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html
+++ b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html
@@ -88,18 +88,18 @@ test(function()
test(function()
{
var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, {});
- assert_throws(new TypeError(), function () { walker.firstChild(); });
+ assert_throws_js(TypeError, function () { walker.firstChild(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
- assert_throws(new TypeError(), function () { walker.nextNode(); });
+ assert_throws_js(TypeError, function () { walker.nextNode(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
}, 'Testing with object lacking acceptNode property');
test(function()
{
var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, { acceptNode: "foo" });
- assert_throws(new TypeError(), function () { walker.firstChild(); });
+ assert_throws_js(TypeError, function () { walker.firstChild(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
- assert_throws(new TypeError(), function () { walker.nextNode(); });
+ assert_throws_js(TypeError, function () { walker.nextNode(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
}, 'Testing with object with non-function acceptNode property');
@@ -119,9 +119,9 @@ test(function()
function(node) {
throw test_error;
});
- assert_throws(test_error, function () { walker.firstChild(); });
+ assert_throws_exactly(test_error, function () { walker.firstChild(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
- assert_throws(test_error, function () { walker.nextNode(); });
+ assert_throws_exactly(test_error, function () { walker.nextNode(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
}, 'Testing with filter function that throws');
@@ -134,9 +134,9 @@ test(function() {
};
var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
- assert_throws(testError, function() { walker.firstChild(); });
+ assert_throws_exactly(testError, function() { walker.firstChild(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
- assert_throws(testError, function() { walker.nextNode(); });
+ assert_throws_exactly(testError, function() { walker.nextNode(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
}, "rethrows errors when getting `acceptNode`");
@@ -166,9 +166,9 @@ test(function()
throw test_error;
}
});
- assert_throws(test_error, function () { walker.firstChild(); });
+ assert_throws_exactly(test_error, function () { walker.firstChild(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
- assert_throws(test_error, function () { walker.nextNode(); });
+ assert_throws_exactly(test_error, function () { walker.nextNode(); });
assert_node(walker.currentNode, { type: Element, id: 'root' });
}, 'Testing with filter object that throws');
diff --git a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-basic.html b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-basic.html
index 100cb10de3e..4e14ac421ef 100644
--- a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-basic.html
+++ b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker-basic.html
@@ -106,11 +106,11 @@ test(function ()
test(function ()
{
- assert_throws(new TypeError(), function () { document.createTreeWalker(); });
- assert_throws(new TypeError(), function () { document.createTreeWalker(null); });
- assert_throws(new TypeError(), function () { document.createTreeWalker(undefined); });
- assert_throws(new TypeError(), function () { document.createTreeWalker(new Object()); });
- assert_throws(new TypeError(), function () { document.createTreeWalker(1); });
+ assert_throws_js(TypeError, function () { document.createTreeWalker(); });
+ assert_throws_js(TypeError, function () { document.createTreeWalker(null); });
+ assert_throws_js(TypeError, function () { document.createTreeWalker(undefined); });
+ assert_throws_js(TypeError, function () { document.createTreeWalker(new Object()); });
+ assert_throws_js(TypeError, function () { document.createTreeWalker(1); });
}, 'Give an invalid root node to document.createTreeWalker().');
test(function ()
diff --git a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker.html b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker.html
index 2570c9a2006..093c7814470 100644
--- a/tests/wpt/web-platform-tests/dom/traversal/TreeWalker.html
+++ b/tests/wpt/web-platform-tests/dom/traversal/TreeWalker.html
@@ -22,19 +22,19 @@ test(function() {
return NodeFilter.FILTER_ACCEPT;
});
walker.currentNode = document.body;
- assert_throws("InvalidStateError", function() { walker.parentNode() });
+ assert_throws_dom("InvalidStateError", function() { walker.parentNode() });
depth--;
- assert_throws("InvalidStateError", function() { walker.firstChild() });
+ assert_throws_dom("InvalidStateError", function() { walker.firstChild() });
depth--;
- assert_throws("InvalidStateError", function() { walker.lastChild() });
+ assert_throws_dom("InvalidStateError", function() { walker.lastChild() });
depth--;
- assert_throws("InvalidStateError", function() { walker.previousSibling() });
+ assert_throws_dom("InvalidStateError", function() { walker.previousSibling() });
depth--;
- assert_throws("InvalidStateError", function() { walker.nextSibling() });
+ assert_throws_dom("InvalidStateError", function() { walker.nextSibling() });
depth--;
- assert_throws("InvalidStateError", function() { walker.previousNode() });
+ assert_throws_dom("InvalidStateError", function() { walker.previousNode() });
depth--;
- assert_throws("InvalidStateError", function() { walker.nextNode() });
+ assert_throws_dom("InvalidStateError", function() { walker.nextNode() });
}, "Recursive filters need to throw");
function filterNode(node, whatToShow, filter) {
diff --git a/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html b/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
index 2660d1d6c87..5e1dd1291de 100644
--- a/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
+++ b/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
@@ -72,7 +72,7 @@ test(function() {
}, 'DOMParser should handle the content of <noembed> as raw text');
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new DOMParser().parseFromString("", "text/foo-this-is-invalid");
})
}, "DOMParser throws on an invalid enum value")
diff --git a/tests/wpt/web-platform-tests/domparsing/createContextualFragment.html b/tests/wpt/web-platform-tests/domparsing/createContextualFragment.html
index a885a5dcb5a..170c0c464d9 100644
--- a/tests/wpt/web-platform-tests/domparsing/createContextualFragment.html
+++ b/tests/wpt/web-platform-tests/domparsing/createContextualFragment.html
@@ -17,7 +17,7 @@ test(function() {
test(function() {
var range = document.createRange();
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
range.createContextualFragment();
});
}, "Must throw TypeError when calling without arguments");
diff --git a/tests/wpt/web-platform-tests/domparsing/innerhtml-01.xhtml b/tests/wpt/web-platform-tests/domparsing/innerhtml-01.xhtml
index 432cfbf41f5..08345ac58b8 100644
--- a/tests/wpt/web-platform-tests/domparsing/innerhtml-01.xhtml
+++ b/tests/wpt/web-platform-tests/domparsing/innerhtml-01.xhtml
@@ -13,13 +13,13 @@
<script>
test(function() {
document.documentElement.appendChild(document.createElement("test:test"));
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
document.documentElement.innerHTML;
}, "getting element with \":\" in its local name");
});
test(function() {
document.title = "\f";
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
document.getElementsByTagName("title")[0].innerHTML;
}, "Getting a Text node whose data contains characters that are not matched by the XML Char production");
});
diff --git a/tests/wpt/web-platform-tests/domparsing/innerhtml-05.xhtml b/tests/wpt/web-platform-tests/domparsing/innerhtml-05.xhtml
index da2d8515952..3afb6815231 100644
--- a/tests/wpt/web-platform-tests/domparsing/innerhtml-05.xhtml
+++ b/tests/wpt/web-platform-tests/domparsing/innerhtml-05.xhtml
@@ -15,7 +15,7 @@
var t = async_test();
window.onload = t.step_func(function() {
var foo = window[0].document.documentElement.firstChild;
- assert_throws('SyntaxError', function() {
+ assert_throws_dom('SyntaxError', function() {
foo.innerHTML = 'x<\/foo--><\!--y';
// This is ridiculous.
});
diff --git a/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml b/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml
index eadf10e2c1f..f02f425c47d 100644
--- a/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml
+++ b/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml
@@ -49,9 +49,9 @@ testPositions(content, "without next sibling");
testPositions(content, "again, with next sibling");
test(function() {
- assert_throws("SYNTAX_ERR", function() {content.insertAdjacentHTML("bar", "foo")});
- assert_throws("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegİn", "foo")});
- assert_throws("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegın", "foo")});
+ assert_throws_dom("SYNTAX_ERR", function() {content.insertAdjacentHTML("bar", "foo")});
+ assert_throws_dom("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegİn", "foo")});
+ assert_throws_dom("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegın", "foo")});
}, "Should throw when inserting with invalid position string");
var parentElement = document.createElement("div");
@@ -82,7 +82,7 @@ testPositions(content2, "test again, now that there's a next sibling");
// XML-only:
test(function() {
- assert_throws("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforeend", "<p>")});
+ assert_throws_dom("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforeend", "<p>")});
});
]]></script>
diff --git a/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.html b/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.html
index dfe624f03ad..d8b38748198 100644
--- a/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.html
+++ b/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.html
@@ -50,9 +50,9 @@ testPositions(content, "without next sibling");
testPositions(content, "again, with next sibling");
test(function() {
- assert_throws("SYNTAX_ERR", function() {content.insertAdjacentHTML("bar", "foo")});
- assert_throws("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegİn", "foo")});
- assert_throws("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegın", "foo")});
+ assert_throws_dom("SYNTAX_ERR", function() {content.insertAdjacentHTML("bar", "foo")});
+ assert_throws_dom("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegİn", "foo")});
+ assert_throws_dom("SYNTAX_ERR", function() {content.insertAdjacentHTML("beforebegın", "foo")});
}, "Should throw when inserting with invalid position string");
var parentElement = document.createElement("div");
diff --git a/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.js b/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.js
index 2451228d193..2980037433d 100644
--- a/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.js
+++ b/tests/wpt/web-platform-tests/domparsing/insert_adjacent_html.js
@@ -1,31 +1,31 @@
function testThrowingNoParent(element, desc) {
test(function() {
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("afterend", "") }
);
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("beforebegin", "") }
);
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("afterend", "foo") }
);
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("beforebegin", "foo") }
);
}, "When the parent node is " + desc + ", insertAdjacentHTML should throw for beforebegin and afterend (text)");
test(function() {
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("afterend", "<!-- fail -->") }
);
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("beforebegin", "<!-- fail -->") }
);
}, "When the parent node is " + desc + ", insertAdjacentHTML should throw for beforebegin and afterend (comments)");
test(function() {
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("afterend", "<div></div>") }
);
- assert_throws("NO_MODIFICATION_ALLOWED_ERR",
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR",
function() { element.insertAdjacentHTML("beforebegin", "<div></div>") }
);
}, "When the parent node is " + desc + ", insertAdjacentHTML should throw for beforebegin and afterend (elements)");
diff --git a/tests/wpt/web-platform-tests/domparsing/outerhtml-01.html b/tests/wpt/web-platform-tests/domparsing/outerhtml-01.html
index 2e8072e49f9..d9a38b70458 100644
--- a/tests/wpt/web-platform-tests/domparsing/outerhtml-01.html
+++ b/tests/wpt/web-platform-tests/domparsing/outerhtml-01.html
@@ -7,7 +7,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() {
+ assert_throws_dom("NO_MODIFICATION_ALLOWED_ERR", function() {
document.documentElement.outerHTML = "<html><p>FAIL: Should have thrown an error<\/p><\/html>";
})
});
diff --git a/tests/wpt/web-platform-tests/domxpath/001.html b/tests/wpt/web-platform-tests/domxpath/001.html
index c26795a3115..4931417af30 100644
--- a/tests/wpt/web-platform-tests/domxpath/001.html
+++ b/tests/wpt/web-platform-tests/domxpath/001.html
@@ -30,7 +30,7 @@ function test_xpath_succeeds(path, expected, resolver) {
function test_xpath_throws(path, error_code, resolver) {
resolver = resolver ? resolver : null;
- assert_throws(error_code, function() {document.evaluate(path, document, resolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)})
+ assert_throws_dom(error_code, function() {document.evaluate(path, document, resolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)})
}
function ns_resolver(x) {
diff --git a/tests/wpt/web-platform-tests/domxpath/002.html b/tests/wpt/web-platform-tests/domxpath/002.html
index 95b4afc4c10..c5c1fcc5292 100644
--- a/tests/wpt/web-platform-tests/domxpath/002.html
+++ b/tests/wpt/web-platform-tests/domxpath/002.html
@@ -28,7 +28,7 @@ function test_xpath_succeeds(path, expected, resolver) {
function test_xpath_throws(path, error_code, resolver) {
resolver = resolver ? resolver : null;
- assert_throws(error_code, function() {document.evaluate(path, document, resolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)})
+ assert_throws_dom(error_code, function() {document.evaluate(path, document, resolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)})
}
function ns_resolver(x) {
diff --git a/tests/wpt/web-platform-tests/domxpath/evaluator-constructor.html b/tests/wpt/web-platform-tests/domxpath/evaluator-constructor.html
index 8239d9c395e..8350ceb4499 100644
--- a/tests/wpt/web-platform-tests/domxpath/evaluator-constructor.html
+++ b/tests/wpt/web-platform-tests/domxpath/evaluator-constructor.html
@@ -11,6 +11,6 @@ test(function() {
assert_true(x instanceof XPathEvaluator);
}, "Constructor with 'new'");
test(function() {
- assert_throws(new TypeError(), "var x = XPathEvaluator()");
+ assert_throws_js(TypeError, "var x = XPathEvaluator()");
}, "Constructor without 'new'");
</script>
diff --git a/tests/wpt/web-platform-tests/domxpath/lexical-structure.html b/tests/wpt/web-platform-tests/domxpath/lexical-structure.html
index f93820b0e41..05961ab226b 100644
--- a/tests/wpt/web-platform-tests/domxpath/lexical-structure.html
+++ b/tests/wpt/web-platform-tests/domxpath/lexical-structure.html
@@ -13,17 +13,17 @@ test(() => {
parse(' \'a"bc\' ');
parse(' "a\'bc" ');
- assert_throws(new SyntaxError(), () => { parse(' \u2019xyz\u2019 '); });
+ assert_throws_dom('SyntaxError', () => { parse(' \u2019xyz\u2019 '); });
}, 'Literal: Only \' and " should be handled as literal quotes.');
// https://www.w3.org/TR/1999/REC-xpath-19991116/#NT-ExprWhitespace
test(() => {
parse(' \t\r\n.\r\n\t ');
- assert_throws(new SyntaxError(), () => { parse('\x0B\x0C .'); });
- assert_throws(new SyntaxError(), () => { parse('\x0E\x0F .'); });
- assert_throws(new SyntaxError(), () => { parse('\u3000 .'); });
- assert_throws(new SyntaxError(), () => { parse('\u2029 .'); });
+ assert_throws_dom('SyntaxError', () => { parse('\x0B\x0C .'); });
+ assert_throws_dom('SyntaxError', () => { parse('\x0E\x0F .'); });
+ assert_throws_dom('SyntaxError', () => { parse('\u3000 .'); });
+ assert_throws_dom('SyntaxError', () => { parse('\u2029 .'); });
}, 'ExprWhitespace: Only #x20 #x9 #xD or #xA must be handled as a whitespace.');
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/editing/other/non-html-document.html b/tests/wpt/web-platform-tests/editing/other/non-html-document.html
index 5c4786e2fc1..ffd2e6f5946 100644
--- a/tests/wpt/web-platform-tests/editing/other/non-html-document.html
+++ b/tests/wpt/web-platform-tests/editing/other/non-html-document.html
@@ -17,7 +17,7 @@ test(function() {
() => xmldoc.queryCommandSupported("bold"),
() => xmldoc.queryCommandValue("bold"),
]) {
- assert_throws("InvalidStateError", f);
+ assert_throws_dom("InvalidStateError", f);
}
}, "editing APIs on an XML document should be disabled");
diff --git a/tests/wpt/web-platform-tests/element-timing/background-image-data-uri.html b/tests/wpt/web-platform-tests/element-timing/background-image-data-uri.html
index 3cac0f56db8..540668ae3c3 100644
--- a/tests/wpt/web-platform-tests/element-timing/background-image-data-uri.html
+++ b/tests/wpt/web-platform-tests/element-timing/background-image-data-uri.html
@@ -18,9 +18,7 @@ body {
<script>
let beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html b/tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html
index 44755d49f5c..61a284a5df3 100644
--- a/tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html
+++ b/tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html
@@ -23,9 +23,7 @@ body {
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
let beforeRender = performance.now();
let numObservedElements = 0;
let observedDiv1 = false;
diff --git a/tests/wpt/web-platform-tests/element-timing/background-image-stretched.html b/tests/wpt/web-platform-tests/element-timing/background-image-stretched.html
index 0cd56333f50..d5534c3257a 100644
--- a/tests/wpt/web-platform-tests/element-timing/background-image-stretched.html
+++ b/tests/wpt/web-platform-tests/element-timing/background-image-stretched.html
@@ -18,9 +18,7 @@ body {
<script>
let beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/buffer-before-onload.html b/tests/wpt/web-platform-tests/element-timing/buffer-before-onload.html
index d675c75ba1a..79dd64e2977 100644
--- a/tests/wpt/web-platform-tests/element-timing/buffer-before-onload.html
+++ b/tests/wpt/web-platform-tests/element-timing/buffer-before-onload.html
@@ -13,9 +13,7 @@
is available from the observer with the buffered flag set to true.
*/
async_test(function(t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
beforeRender = performance.now();
const img = document.createElement('img');
img.src = 'resources/square20.jpg';
diff --git a/tests/wpt/web-platform-tests/element-timing/buffered-flag.html b/tests/wpt/web-platform-tests/element-timing/buffered-flag.html
index 19c387d26b9..1fca1178792 100644
--- a/tests/wpt/web-platform-tests/element-timing/buffered-flag.html
+++ b/tests/wpt/web-platform-tests/element-timing/buffered-flag.html
@@ -12,11 +12,9 @@ body {
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test(t => {
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const beforeRender = performance.now();
const img = document.createElement('img');
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
// Initial observer used to know when entry has been dispatched
new PerformanceObserver(() => {
// Second observer should require buffered flag to receive the already-dispatched entry.
diff --git a/tests/wpt/web-platform-tests/element-timing/cross-origin-element.sub.html b/tests/wpt/web-platform-tests/element-timing/cross-origin-element.sub.html
index eef69a1d423..b5b06f30469 100644
--- a/tests/wpt/web-platform-tests/element-timing/cross-origin-element.sub.html
+++ b/tests/wpt/web-platform-tests/element-timing/cross-origin-element.sub.html
@@ -12,9 +12,7 @@ body {
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test((t) => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
let img;
const pathname = 'http://{{domains[www]}}:{{ports[http][1]}}'
+ '/element-timing/resources/square100.png';
diff --git a/tests/wpt/web-platform-tests/element-timing/cross-origin-iframe-element.sub.html b/tests/wpt/web-platform-tests/element-timing/cross-origin-iframe-element.sub.html
index 7296cfccfda..b183fe289aa 100644
--- a/tests/wpt/web-platform-tests/element-timing/cross-origin-iframe-element.sub.html
+++ b/tests/wpt/web-platform-tests/element-timing/cross-origin-iframe-element.sub.html
@@ -7,9 +7,7 @@
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test((t) => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done((entryList) => {
assert_unreached("We should not observe a cross origin element.");
diff --git a/tests/wpt/web-platform-tests/element-timing/css-generated-text.html b/tests/wpt/web-platform-tests/element-timing/css-generated-text.html
index 1e3a812d1bc..4b7dea73ca8 100644
--- a/tests/wpt/web-platform-tests/element-timing/css-generated-text.html
+++ b/tests/wpt/web-platform-tests/element-timing/css-generated-text.html
@@ -17,9 +17,7 @@ body {
<script>
async_test(function (t) {
const beforeRender = performance.now();
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/disconnect-image.html b/tests/wpt/web-platform-tests/element-timing/disconnect-image.html
index fa42397557b..9c2be0e45ac 100644
--- a/tests/wpt/web-platform-tests/element-timing/disconnect-image.html
+++ b/tests/wpt/web-platform-tests/element-timing/disconnect-image.html
@@ -9,9 +9,7 @@
let beforeRender;
let img;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/element-only-when-fully-active.html b/tests/wpt/web-platform-tests/element-timing/element-only-when-fully-active.html
index 5608685a342..001430516dc 100644
--- a/tests/wpt/web-platform-tests/element-timing/element-only-when-fully-active.html
+++ b/tests/wpt/web-platform-tests/element-timing/element-only-when-fully-active.html
@@ -7,6 +7,9 @@
<iframe src="resources/iframe-stores-entry.html" id="ifr"></iframe>
<script>
let t = async_test('Only expose element attribute for fully active documents');
+ t.step(() => {
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
+ });
window.triggerTest = t.step_func_done(elementEntry => {
assert_not_equals(elementEntry.element, null);
const iframe = document.getElementById('ifr');
diff --git a/tests/wpt/web-platform-tests/element-timing/first-letter-background.html b/tests/wpt/web-platform-tests/element-timing/first-letter-background.html
index 51e82d473e1..911f0d0f3a1 100644
--- a/tests/wpt/web-platform-tests/element-timing/first-letter-background.html
+++ b/tests/wpt/web-platform-tests/element-timing/first-letter-background.html
@@ -13,9 +13,7 @@
<script>
let beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const div = document.getElementById('target');
let textObserved = false;
let imageObserved = false;
diff --git a/tests/wpt/web-platform-tests/element-timing/fixed-id-identifier.html b/tests/wpt/web-platform-tests/element-timing/fixed-id-identifier.html
index 00d6d4dd94c..ae8303f021d 100644
--- a/tests/wpt/web-platform-tests/element-timing/fixed-id-identifier.html
+++ b/tests/wpt/web-platform-tests/element-timing/fixed-id-identifier.html
@@ -8,9 +8,7 @@
<p elementtiming='my_identifier' id='my_id'>Text</p>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/image-TAO.sub.html b/tests/wpt/web-platform-tests/element-timing/image-TAO.sub.html
index 0906b361394..ee2b0617900 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-TAO.sub.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-TAO.sub.html
@@ -7,9 +7,7 @@
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test(t => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const beforeRender = performance.now();
const remote_img = 'http://{{domains[www]}}:{{ports[http][1]}}/element-timing/resources/TAOImage.py?'
+ 'origin=' + window.location.origin +'&tao=';
diff --git a/tests/wpt/web-platform-tests/element-timing/image-carousel.html b/tests/wpt/web-platform-tests/element-timing/image-carousel.html
index dc5d8e8dde8..ce6ac951e24 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-carousel.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-carousel.html
@@ -26,9 +26,7 @@ body {
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const beforeRenderTimes = [];
let entry_count = 0;
const entry_count_per_element = [0, 0];
diff --git a/tests/wpt/web-platform-tests/element-timing/image-clipped-svg.html b/tests/wpt/web-platform-tests/element-timing/image-clipped-svg.html
index 15c78a4cec5..c8e4a67cea6 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-clipped-svg.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-clipped-svg.html
@@ -7,9 +7,7 @@
<script>
let beforeRender;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/image-data-uri.html b/tests/wpt/web-platform-tests/element-timing/image-data-uri.html
index e698bcf1a5d..afe203ae1bf 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-data-uri.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-data-uri.html
@@ -16,9 +16,7 @@ body {
<script>
let beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/image-not-added.html b/tests/wpt/web-platform-tests/element-timing/image-not-added.html
index e65d1814b0e..83a6cc60844 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-not-added.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-not-added.html
@@ -5,9 +5,7 @@
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(() => {
// The image should not have caused an entry, so fail test.
diff --git a/tests/wpt/web-platform-tests/element-timing/image-not-fully-visible.html b/tests/wpt/web-platform-tests/element-timing/image-not-fully-visible.html
index ece7770467d..c51c24a965a 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-not-fully-visible.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-not-fully-visible.html
@@ -14,9 +14,7 @@ body {
let beforeRender;
let img;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/image-rect-iframe.html b/tests/wpt/web-platform-tests/element-timing/image-rect-iframe.html
index 7441405d747..a97ed5a8507 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-rect-iframe.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-rect-iframe.html
@@ -11,9 +11,7 @@ body {
<script src="/resources/testharnessreport.js"></script>
<script>
async_test((t) => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
on_event(window, 'message', e => {
assert_equals(e.data.length, 1);
assert_equals(e.data.entryType, 'element');
diff --git a/tests/wpt/web-platform-tests/element-timing/image-src-change.html b/tests/wpt/web-platform-tests/element-timing/image-src-change.html
index 89b8e1d3f74..e9e13742a65 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-src-change.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-src-change.html
@@ -13,9 +13,7 @@ body {
<img src='resources/square100.png' elementtiming='my_image' id='my_id'/>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
let beforeRender = performance.now();
const img = document.getElementById('my_id');
let firstCallback = true;
diff --git a/tests/wpt/web-platform-tests/element-timing/image-with-css-scale.html b/tests/wpt/web-platform-tests/element-timing/image-with-css-scale.html
index 2dbbc067248..9bd71086a75 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-with-css-scale.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-with-css-scale.html
@@ -21,9 +21,7 @@ body {
<script>
const beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/image-with-rotation.html b/tests/wpt/web-platform-tests/element-timing/image-with-rotation.html
index fcffe4acfa5..64ff942f0cd 100644
--- a/tests/wpt/web-platform-tests/element-timing/image-with-rotation.html
+++ b/tests/wpt/web-platform-tests/element-timing/image-with-rotation.html
@@ -21,9 +21,7 @@ body {
<script>
const beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/images-repeated-resource.html b/tests/wpt/web-platform-tests/element-timing/images-repeated-resource.html
index e3fe9b90db1..6090e75f26e 100644
--- a/tests/wpt/web-platform-tests/element-timing/images-repeated-resource.html
+++ b/tests/wpt/web-platform-tests/element-timing/images-repeated-resource.html
@@ -20,9 +20,7 @@ body {
let img;
let img2;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/invisible-images.html b/tests/wpt/web-platform-tests/element-timing/invisible-images.html
index 06d9bfd07a0..8225996e255 100644
--- a/tests/wpt/web-platform-tests/element-timing/invisible-images.html
+++ b/tests/wpt/web-platform-tests/element-timing/invisible-images.html
@@ -16,9 +16,7 @@
</style>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done((entries) => {
// The image should not have caused an entry, so fail test.
diff --git a/tests/wpt/web-platform-tests/element-timing/multiple-background-images.html b/tests/wpt/web-platform-tests/element-timing/multiple-background-images.html
index b29e66c04a7..c2a32c3c8e6 100644
--- a/tests/wpt/web-platform-tests/element-timing/multiple-background-images.html
+++ b/tests/wpt/web-platform-tests/element-timing/multiple-background-images.html
@@ -18,9 +18,7 @@ body {
<script>
let beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
let numObservedElements = 0;
let observedCircle = false;
let observedSquare = false;
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-background-image.html b/tests/wpt/web-platform-tests/element-timing/observe-background-image.html
index afc6b5b38d7..e02714b7021 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-background-image.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-background-image.html
@@ -18,9 +18,7 @@ body {
<script>
let beforeRender = performance.now();
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-child-element.html b/tests/wpt/web-platform-tests/element-timing/observe-child-element.html
index 33e92a9abdd..4293e814eb9 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-child-element.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-child-element.html
@@ -12,9 +12,7 @@ body {
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test((t) => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done((entryList) => {
assert_unreached("Should not have received an entry!");
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-elementtiming.html b/tests/wpt/web-platform-tests/element-timing/observe-elementtiming.html
index 164cc4f580a..ee8960bd728 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-elementtiming.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-elementtiming.html
@@ -14,9 +14,7 @@ body {
let beforeRender;
let img;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-empty-attribute.html b/tests/wpt/web-platform-tests/element-timing/observe-empty-attribute.html
index c115a24cf62..25d3492f73b 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-empty-attribute.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-empty-attribute.html
@@ -7,9 +7,7 @@
<script>
let beforeRender;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
let observedImage = false;
let observedText = false;
const observer = new PerformanceObserver(
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-multiple-images.html b/tests/wpt/web-platform-tests/element-timing/observe-multiple-images.html
index 6b5c5d9e3cb..9a0657aa60f 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-multiple-images.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-multiple-images.html
@@ -22,9 +22,7 @@ body {
<script>
let beforeRender, image1Observed=0, image2Observed=0, image3Observed=0;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func(function(entryList) {
entryList.getEntries().forEach( entry => {
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-shadow-image.html b/tests/wpt/web-platform-tests/element-timing/observe-shadow-image.html
index 3e1960dde3b..1c12c5fe031 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-shadow-image.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-shadow-image.html
@@ -12,9 +12,7 @@ body {
<div id='target'></div>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_unreached('Should not observe elements in shadow trees!');
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-shadow-text.html b/tests/wpt/web-platform-tests/element-timing/observe-shadow-text.html
index cc0cf0bd823..3167a1225c5 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-shadow-text.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-shadow-text.html
@@ -12,9 +12,7 @@ body {
<div id='target'></div>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_unreached('Should not observe text elements in shadow trees!');
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-svg-image.html b/tests/wpt/web-platform-tests/element-timing/observe-svg-image.html
index 8a0f61d6699..83ca4f40aae 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-svg-image.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-svg-image.html
@@ -7,9 +7,7 @@
<script>
let beforeRender;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-text.html b/tests/wpt/web-platform-tests/element-timing/observe-text.html
index 4508db3a544..a054b261726 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-text.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-text.html
@@ -15,9 +15,7 @@ p {
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test((t) => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
let paragraph;
let beforeRender;
const observer = new PerformanceObserver(
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-video-poster.html b/tests/wpt/web-platform-tests/element-timing/observe-video-poster.html
index a6348377099..f64da173c6f 100644
--- a/tests/wpt/web-platform-tests/element-timing/observe-video-poster.html
+++ b/tests/wpt/web-platform-tests/element-timing/observe-video-poster.html
@@ -7,9 +7,7 @@
<script>
let beforeRender;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/progressively-loaded-image.html b/tests/wpt/web-platform-tests/element-timing/progressively-loaded-image.html
index f156e1a32c4..0d59052cf3a 100644
--- a/tests/wpt/web-platform-tests/element-timing/progressively-loaded-image.html
+++ b/tests/wpt/web-platform-tests/element-timing/progressively-loaded-image.html
@@ -14,9 +14,7 @@
let numInitial = 75;
let sleep = 500;
async_test(function(t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const img_src = 'resources/progressive-image.py?name=square20.jpg&numInitial='
+ numInitial + '&sleep=' + sleep;
const observer = new PerformanceObserver(
diff --git a/tests/wpt/web-platform-tests/element-timing/rectangular-image.html b/tests/wpt/web-platform-tests/element-timing/rectangular-image.html
index 0c09911c502..a97c549a9aa 100644
--- a/tests/wpt/web-platform-tests/element-timing/rectangular-image.html
+++ b/tests/wpt/web-platform-tests/element-timing/rectangular-image.html
@@ -14,9 +14,7 @@ body {
let beforeRender;
let img;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/element-timing/redirects-tao-star.html b/tests/wpt/web-platform-tests/element-timing/redirects-tao-star.html
index a93fcd50ac3..f8e4d19bd07 100644
--- a/tests/wpt/web-platform-tests/element-timing/redirects-tao-star.html
+++ b/tests/wpt/web-platform-tests/element-timing/redirects-tao-star.html
@@ -11,9 +11,7 @@
<body>
<script>
async_test(t => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
let destUrl = get_host_info().HTTP_REMOTE_ORIGIN
+ '/resource-timing/resources/multi_redirect.py?';
destUrl += 'page_origin=' + get_host_info().HTTP_ORIGIN;
diff --git a/tests/wpt/web-platform-tests/element-timing/retrievability.html b/tests/wpt/web-platform-tests/element-timing/retrievability.html
index 3ac04d82785..5c6113bdc93 100644
--- a/tests/wpt/web-platform-tests/element-timing/retrievability.html
+++ b/tests/wpt/web-platform-tests/element-timing/retrievability.html
@@ -7,9 +7,7 @@
<script>
let img;
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const beforeRender = performance.now();
new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/element-timing/scroll-to-text.html b/tests/wpt/web-platform-tests/element-timing/scroll-to-text.html
index ed332740323..ca06e91c530 100644
--- a/tests/wpt/web-platform-tests/element-timing/scroll-to-text.html
+++ b/tests/wpt/web-platform-tests/element-timing/scroll-to-text.html
@@ -15,9 +15,7 @@
<p elementtiming='observeMe'>Test text</p>
<script>
async_test((t) => {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(t.step_func_done(() => {}));
observer.observe({type: 'element', buffered: true});
window.onload = () => {
diff --git a/tests/wpt/web-platform-tests/element-timing/text-with-display-style.html b/tests/wpt/web-platform-tests/element-timing/text-with-display-style.html
index 03939473be3..faf644fd8d2 100644
--- a/tests/wpt/web-platform-tests/element-timing/text-with-display-style.html
+++ b/tests/wpt/web-platform-tests/element-timing/text-with-display-style.html
@@ -21,9 +21,7 @@ h3 {
<h3 id='title3' elementtiming='h3'>I am h3</h3>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const beforeRender = performance.now();
let observedFlex = false;
let observedGrid = false;
diff --git a/tests/wpt/web-platform-tests/element-timing/toJSON.html b/tests/wpt/web-platform-tests/element-timing/toJSON.html
index d9889347081..ba13a0fa907 100644
--- a/tests/wpt/web-platform-tests/element-timing/toJSON.html
+++ b/tests/wpt/web-platform-tests/element-timing/toJSON.html
@@ -8,9 +8,7 @@
<img elementtiming='img' src="resources/square100.png"/>
<script>
async_test(function (t) {
- if (!window.PerformanceElementTiming) {
- assert_unreached("PerformanceElementTiming is not implemented");
- }
+ assert_precondition(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
diff --git a/tests/wpt/web-platform-tests/encoding/api-invalid-label.any.js b/tests/wpt/web-platform-tests/encoding/api-invalid-label.any.js
index 38c0e9a55fd..2dafb67c07d 100644
--- a/tests/wpt/web-platform-tests/encoding/api-invalid-label.any.js
+++ b/tests/wpt/web-platform-tests/encoding/api-invalid-label.any.js
@@ -19,6 +19,6 @@ setup(function() {
tests.forEach(function(input) {
test(function() {
- assert_throws(new RangeError(), function() { new TextDecoder(input); });
+ assert_throws_js(RangeError, function() { new TextDecoder(input); });
}, 'Invalid label ' + format_value(input) + ' should be rejected by TextDecoder.');
});
diff --git a/tests/wpt/web-platform-tests/encoding/api-replacement-encodings.any.js b/tests/wpt/web-platform-tests/encoding/api-replacement-encodings.any.js
index 6d1e494ac39..9031cf6638c 100644
--- a/tests/wpt/web-platform-tests/encoding/api-replacement-encodings.any.js
+++ b/tests/wpt/web-platform-tests/encoding/api-replacement-encodings.any.js
@@ -7,7 +7,7 @@ encodings_table.forEach(function(section) {
}).forEach(function(encoding) {
encoding.labels.forEach(function(label) {
test(function() {
- assert_throws(new RangeError(), function() { new TextDecoder(label); });
+ assert_throws_js(RangeError, function() { new TextDecoder(label); });
}, 'Label for "replacement" should be rejected by API: ' + label);
});
});
diff --git a/tests/wpt/web-platform-tests/encoding/encodeInto.any.js b/tests/wpt/web-platform-tests/encoding/encodeInto.any.js
index 7ea0b80eeb4..7e18c812499 100644
--- a/tests/wpt/web-platform-tests/encoding/encodeInto.any.js
+++ b/tests/wpt/web-platform-tests/encoding/encodeInto.any.js
@@ -128,14 +128,14 @@
Float64Array].forEach(view => {
["ArrayBuffer", "SharedArrayBuffer"].forEach((arrayBufferOrSharedArrayBuffer) => {
test(() => {
- assert_throws(new TypeError(), () => new TextEncoder().encodeInto("", new view(new self[arrayBufferOrSharedArrayBuffer](0))));
+ assert_throws_js(TypeError, () => new TextEncoder().encodeInto("", new view(new self[arrayBufferOrSharedArrayBuffer](0))));
}, "Invalid encodeInto() destination: " + view.name + ", backed by: " + arrayBufferOrSharedArrayBuffer);
});
});
["ArrayBuffer", "SharedArrayBuffer"].forEach((arrayBufferOrSharedArrayBuffer) => {
test(() => {
- assert_throws(new TypeError(), () => new TextEncoder().encodeInto("", new self[arrayBufferOrSharedArrayBuffer](10)));
+ assert_throws_js(TypeError, () => new TextEncoder().encodeInto("", new self[arrayBufferOrSharedArrayBuffer](10)));
}, "Invalid encodeInto() destination: " + arrayBufferOrSharedArrayBuffer);
});
diff --git a/tests/wpt/web-platform-tests/encoding/streams/decode-attributes.any.js b/tests/wpt/web-platform-tests/encoding/streams/decode-attributes.any.js
index 21b70201271..3fe442bf133 100644
--- a/tests/wpt/web-platform-tests/encoding/streams/decode-attributes.any.js
+++ b/tests/wpt/web-platform-tests/encoding/streams/decode-attributes.any.js
@@ -46,25 +46,25 @@ for (const trueValue of [true, 1, {}, [], 'yes']) {
}
test(() => {
- assert_throws(new RangeError(), () => new TextDecoderStream(''),
+ assert_throws_js(RangeError, () => new TextDecoderStream(''),
'the constructor should throw');
}, 'constructing with an invalid encoding should throw');
test(() => {
- assert_throws(new TypeError(), () => new TextDecoderStream({
+ assert_throws_js(TypeError, () => new TextDecoderStream({
toString() { return {}; }
}), 'the constructor should throw');
}, 'constructing with a non-stringifiable encoding should throw');
test(() => {
- assert_throws(new Error(),
+ assert_throws_js(Error,
() => new TextDecoderStream('utf-8', {
get fatal() { throw new Error(); }
}), 'the constructor should throw');
}, 'a throwing fatal member should cause the constructor to throw');
test(() => {
- assert_throws(new Error(),
+ assert_throws_js(Error,
() => new TextDecoderStream('utf-8', {
get ignoreBOM() { throw new Error(); }
}), 'the constructor should throw');
diff --git a/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.js b/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.js
index d3e9ae9c9a7..87e3707be4b 100644
--- a/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.js
+++ b/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.js
@@ -37,7 +37,7 @@ singleByteEncodings.forEach(function(t) {
for (var i = 0; i < 256; ++i) {
if (t.bad.indexOf(i) != -1) {
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TextDecoder(t.encoding, {fatal: true}).decode(new Uint8Array([i]));
});
}, 'Throw due to fatal flag: ' + t.encoding + ' doesn\'t have a pointer ' + i);
diff --git a/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-streaming.any.js b/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-streaming.any.js
index e4fa64dbd7c..0d58b2e1d7d 100644
--- a/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-streaming.any.js
+++ b/tests/wpt/web-platform-tests/encoding/textdecoder-fatal-streaming.any.js
@@ -7,7 +7,7 @@ test(function() {
{encoding: 'utf-16be', sequence: [0x00]}
].forEach(function(testCase) {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
var decoder = new TextDecoder(testCase.encoding, {fatal: true});
decoder.decode(new Uint8Array(testCase.sequence));
}, 'Unterminated ' + testCase.encoding + ' sequence should throw if fatal flag is set');
@@ -28,12 +28,12 @@ test(function() {
assert_equals(decoder.decode(odd, {stream: true}), '');
assert_equals(decoder.decode(odd), '\u0000');
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
decoder.decode(even, {stream: true});
decoder.decode(odd)
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
decoder.decode(odd, {stream: true});
decoder.decode(even);
});
diff --git a/tests/wpt/web-platform-tests/encoding/textdecoder-fatal.any.js b/tests/wpt/web-platform-tests/encoding/textdecoder-fatal.any.js
index ba8aa5d06c3..5ee4b65ebe3 100644
--- a/tests/wpt/web-platform-tests/encoding/textdecoder-fatal.any.js
+++ b/tests/wpt/web-platform-tests/encoding/textdecoder-fatal.any.js
@@ -51,7 +51,7 @@ var bad = [
bad.forEach(function(t) {
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TextDecoder(t.encoding, {fatal: true}).decode(new Uint8Array(t.input))
});
}, 'Fatal flag: ' + t.encoding + ' - ' + t.name);
diff --git a/tests/wpt/web-platform-tests/encoding/textdecoder-utf16-surrogates.any.js b/tests/wpt/web-platform-tests/encoding/textdecoder-utf16-surrogates.any.js
index 3b8418703da..b08ea56cee3 100644
--- a/tests/wpt/web-platform-tests/encoding/textdecoder-utf16-surrogates.any.js
+++ b/tests/wpt/web-platform-tests/encoding/textdecoder-utf16-surrogates.any.js
@@ -38,7 +38,7 @@ bad.forEach(function(t) {
assert_equals(new TextDecoder(t.encoding).decode(new Uint8Array(t.input)), t.expected);
}, t.encoding + ' - ' + t.name);
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TextDecoder(t.encoding, {fatal: true}).decode(new Uint8Array(t.input))
});
}, t.encoding + ' - ' + t.name + ' (fatal flag set)');
diff --git a/tests/wpt/web-platform-tests/entries-api/filesystemfileentry-file-manual.html b/tests/wpt/web-platform-tests/entries-api/filesystemfileentry-file-manual.html
index d6c62f30a3c..7ac29c0b13c 100644
--- a/tests/wpt/web-platform-tests/entries-api/filesystemfileentry-file-manual.html
+++ b/tests/wpt/web-platform-tests/entries-api/filesystemfileentry-file-manual.html
@@ -12,7 +12,7 @@ file_entry_test('file.txt', (t, entry) => {
assert_idl_attribute(entry, 'file', 'FileSystemFileEntry has a file() method');
assert_equals(typeof entry.file, 'function', 'FileSystemFileEntry has a file() method');
- assert_throws(TypeError(), () => entry.file(), 'file() has a required argument');
+ assert_throws_js(TypeError, () => entry.file(), 'file() has a required argument');
entry.file(t.step_func(file => {
assert_class_string(file, 'File', 'file() should yield a File');
diff --git a/tests/wpt/web-platform-tests/eventsource/eventsource-constructor-url-bogus.any.js b/tests/wpt/web-platform-tests/eventsource/eventsource-constructor-url-bogus.any.js
index eb92837a71d..53c3205e8a5 100644
--- a/tests/wpt/web-platform-tests/eventsource/eventsource-constructor-url-bogus.any.js
+++ b/tests/wpt/web-platform-tests/eventsource/eventsource-constructor-url-bogus.any.js
@@ -2,7 +2,7 @@
// META: title=EventSource: constructor (invalid URL)
test(() => {
- assert_throws('SyntaxError', () => { new EventSource("http://this is invalid/"); });
+ assert_throws_dom('SyntaxError', () => { new EventSource("http://this is invalid/"); });
});
done();
diff --git a/tests/wpt/web-platform-tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html
index 98e434a2a5c..b82eb4f1ef5 100644
--- a/tests/wpt/web-platform-tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html
+++ b/tests/wpt/web-platform-tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html
@@ -15,7 +15,7 @@
var details = {
total: { label: 'Test', amount: { currency: 'USD', value: '5.00' } }
};
- assert_throws('SecurityError', () => {
+ assert_throws_dom('SecurityError', () => {
new PaymentRequest(supportedInstruments, details);
});
}, header + ' disallows the top-level document.');
diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/document-write-reporting.html b/tests/wpt/web-platform-tests/feature-policy/reporting/document-write-reporting.html
index e67bff0773e..50af640e08e 100644
--- a/tests/wpt/web-platform-tests/feature-policy/reporting/document-write-reporting.html
+++ b/tests/wpt/web-platform-tests/feature-policy/reporting/document-write-reporting.html
@@ -23,7 +23,7 @@ new ReportingObserver(t.step_func_done(check_report_format),
{types: ['feature-policy-violation']}).observe();
t.step_func(() => {
- assert_throws('NotAllowedError',
+ assert_throws_dom('NotAllowedError',
() => document.write("This should not succeed"),
"document.write should throw an exception when disabled");
})();
diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-reporting.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-reporting.https.html
index 4ccfcbf0d21..9a5d404d345 100644
--- a/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-reporting.https.html
+++ b/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-reporting.https.html
@@ -45,10 +45,10 @@ var check_report_format = function(reports, observer) {
async_test(t => {
new ReportingObserver(t.step_func(check_report_format),
{types: ['feature-policy-violation']}).observe();
- assert_throws("SecurityError", () => new Accelerometer(), "Constructing sensors should be blocked by policy");
- assert_throws("SecurityError", () => new AmbientLightSensor(), "Constructing sensors should be blocked by policy");
- assert_throws("SecurityError", () => new Gyroscope(), "Constructing sensors should be blocked by policy");
- assert_throws("SecurityError", () => new Magnetometer(), "Constructing sensors should be blocked by policy");
+ assert_throws_dom("SecurityError", () => new Accelerometer(), "Constructing sensors should be blocked by policy");
+ assert_throws_dom("SecurityError", () => new AmbientLightSensor(), "Constructing sensors should be blocked by policy");
+ assert_throws_dom("SecurityError", () => new Gyroscope(), "Constructing sensors should be blocked by policy");
+ assert_throws_dom("SecurityError", () => new Magnetometer(), "Constructing sensors should be blocked by policy");
}, "Generic Sensor Report Format");
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/payment-reporting.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/payment-reporting.https.html
index 80d0b0f0906..417dfed7dce 100644
--- a/tests/wpt/web-platform-tests/feature-policy/reporting/payment-reporting.https.html
+++ b/tests/wpt/web-platform-tests/feature-policy/reporting/payment-reporting.https.html
@@ -25,7 +25,7 @@ new ReportingObserver(t.step_func_done(check_report_format),
{types: ['feature-policy-violation']}).observe();
t.step_func(() => {
- assert_throws('SecurityError',
+ assert_throws_dom('SecurityError',
() => new PaymentRequest(
[{ supportedMethods: 'basic-card' }],
{ total: { label: 'Total', amount: { currency: 'USD', value: 0 }}},
diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-reporting.html b/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-reporting.html
index 9e526b904d4..dbdcc126ec4 100644
--- a/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-reporting.html
+++ b/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-reporting.html
@@ -27,7 +27,7 @@ new ReportingObserver(t.step_func_done(check_report_format),
t.step_func(() => {
var xhr = new XMLHttpRequest();
xhr.open("GET", document.location.href, false);
- assert_throws('NetworkError',
+ assert_throws_dom('NetworkError',
() => xhr.send(),
"Synchronous XHR.send should throw an exception when disabled");
})();
diff --git a/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html b/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html
index 64be98af934..079b641721a 100644
--- a/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html
+++ b/tests/wpt/web-platform-tests/fetch/api/headers/header-values-normalize.html
@@ -36,9 +36,9 @@ for(let i = 0; i < 0x21; i++) {
let xhr = new XMLHttpRequest()
xhr.open("POST", url)
if(fail) {
- assert_throws("SyntaxError", () => xhr.setRequestHeader("val1", val1))
- assert_throws("SyntaxError", () => xhr.setRequestHeader("val2", val2))
- assert_throws("SyntaxError", () => xhr.setRequestHeader("val3", val3))
+ assert_throws_dom("SyntaxError", () => xhr.setRequestHeader("val1", val1))
+ assert_throws_dom("SyntaxError", () => xhr.setRequestHeader("val2", val2))
+ assert_throws_dom("SyntaxError", () => xhr.setRequestHeader("val3", val3))
t.done()
} else {
xhr.setRequestHeader("val1", val1)
diff --git a/tests/wpt/web-platform-tests/fetch/api/headers/header-values.html b/tests/wpt/web-platform-tests/fetch/api/headers/header-values.html
index 6dfe0d3a789..491288eff7c 100644
--- a/tests/wpt/web-platform-tests/fetch/api/headers/header-values.html
+++ b/tests/wpt/web-platform-tests/fetch/api/headers/header-values.html
@@ -12,7 +12,7 @@
test(() => {
let xhr = new XMLHttpRequest()
xhr.open("POST", "/")
- assert_throws("SyntaxError", () => xhr.setRequestHeader("value-test", val))
+ assert_throws_dom("SyntaxError", () => xhr.setRequestHeader("value-test", val))
}, "XMLHttpRequest with value " + encodeURI(val) + " needs to throw")
promise_test(t => promise_rejects(t, new TypeError(), fetch("/", { headers: {"value-test": val} })), "fetch() with value " + encodeURI(val) + " needs to throw")
diff --git a/tests/wpt/web-platform-tests/fetch/api/headers/headers-basic.html b/tests/wpt/web-platform-tests/fetch/api/headers/headers-basic.html
index 1d3f4d462b8..254ef051c12 100644
--- a/tests/wpt/web-platform-tests/fetch/api/headers/headers-basic.html
+++ b/tests/wpt/web-platform-tests/fetch/api/headers/headers-basic.html
@@ -25,7 +25,7 @@
var parameters = [null, 1];
parameters.forEach(function(parameter) {
test(function() {
- assert_throws(new TypeError(), function() { new Headers(parameter) });
+ assert_throws_js(TypeError, function() { new Headers(parameter) });
}, "Create headers with " + parameter + " should throw");
});
diff --git a/tests/wpt/web-platform-tests/fetch/api/headers/headers-errors.html b/tests/wpt/web-platform-tests/fetch/api/headers/headers-errors.html
index 194ff32f155..7f9916d87fe 100644
--- a/tests/wpt/web-platform-tests/fetch/api/headers/headers-errors.html
+++ b/tests/wpt/web-platform-tests/fetch/api/headers/headers-errors.html
@@ -12,19 +12,19 @@
<script>
test(function() {
- assert_throws(new TypeError() , function() { new Headers([["name"]]); });
+ assert_throws_js(TypeError, function() { new Headers([["name"]]); });
}, "Create headers giving an array having one string as init argument");
test(function() {
- assert_throws(new TypeError() , function() { new Headers([["invalid", "invalidValue1", "invalidValue2"]]); });
+ assert_throws_js(TypeError, function() { new Headers([["invalid", "invalidValue1", "invalidValue2"]]); });
}, "Create headers giving an array having three strings as init argument");
test(function() {
- assert_throws(new TypeError() , function() { new Headers([["invalidĀ", "Value1"]]); });
+ assert_throws_js(TypeError, function() { new Headers([["invalidĀ", "Value1"]]); });
}, "Create headers giving bad header name as init argument");
test(function() {
- assert_throws(new TypeError() , function() { new Headers([["name", "invalidValueĀ"]]); });
+ assert_throws_js(TypeError, function() { new Headers([["name", "invalidValueĀ"]]); });
}, "Create headers giving bad header value as init argument");
var badNames = ["invalidĀ", {}];
@@ -33,57 +33,57 @@
badNames.forEach(function(name) {
test(function() {
var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.get(name); });
+ assert_throws_js(TypeError, function() { headers.get(name); });
}, "Check headers get with an invalid name " + name);
});
badNames.forEach(function(name) {
test(function() {
var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.delete(name); });
+ assert_throws_js(TypeError, function() { headers.delete(name); });
}, "Check headers delete with an invalid name " + name);
});
badNames.forEach(function(name) {
test(function() {
var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.has(name); });
+ assert_throws_js(TypeError, function() { headers.has(name); });
}, "Check headers has with an invalid name " + name);
});
badNames.forEach(function(name) {
test(function() {
var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.set(name, "Value1"); });
+ assert_throws_js(TypeError, function() { headers.set(name, "Value1"); });
}, "Check headers set with an invalid name " + name);
});
badValues.forEach(function(value) {
test(function() {
var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.set("name", value); });
+ assert_throws_js(TypeError, function() { headers.set("name", value); });
}, "Check headers set with an invalid value " + value);
});
badNames.forEach(function(name) {
test(function() {
var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.append("invalidĀ", "Value1"); });
+ assert_throws_js(TypeError, function() { headers.append("invalidĀ", "Value1"); });
}, "Check headers append with an invalid name " + name);
});
badValues.forEach(function(value) {
test(function() {
var headers = new Headers();
- assert_throws(new TypeError() , function() { headers.append("name", value); });
+ assert_throws_js(TypeError, function() { headers.append("name", value); });
}, "Check headers append with an invalid value " + value);
});
test(function() {
var headers = new Headers([["name", "value"]]);
- assert_throws(new TypeError() , function() { headers.forEach(); });
- assert_throws(new TypeError() , function() { headers.forEach(undefined); });
- assert_throws(new TypeError() , function() { headers.forEach(1); });
+ assert_throws_js(TypeError, function() { headers.forEach(); });
+ assert_throws_js(TypeError, function() { headers.forEach(undefined); });
+ assert_throws_js(TypeError, function() { headers.forEach(1); });
}, "Headers forEach throws if argument is not callable");
test(function() {
diff --git a/tests/wpt/web-platform-tests/fetch/api/headers/headers-record.html b/tests/wpt/web-platform-tests/fetch/api/headers/headers-record.html
index 34acc3b1c55..0a217c3ddb2 100644
--- a/tests/wpt/web-platform-tests/fetch/api/headers/headers-record.html
+++ b/tests/wpt/web-platform-tests/fetch/api/headers/headers-record.html
@@ -256,7 +256,7 @@ test(function() {
var proxy = new Proxy(lyingProxy, loggingHandler);
// Returning duplicate keys from ownKeys() throws a TypeError.
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { var h = new Headers(proxy); });
assert_equals(log.length, 2);
@@ -279,7 +279,7 @@ test(function() {
},
c: "d" };
var proxy = new Proxy(record, loggingHandler);
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { var h = new Headers(proxy); });
assert_equals(log.length, 7);
diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-cache.js b/tests/wpt/web-platform-tests/fetch/api/request/request-cache.js
index 009d4408a56..f2fbecf4969 100644
--- a/tests/wpt/web-platform-tests/fetch/api/request/request-cache.js
+++ b/tests/wpt/web-platform-tests/fetch/api/request/request-cache.js
@@ -154,7 +154,7 @@ function make_test(type, info) {
assert_equals(text, expected_response_text(type, identifier, init, content));
}, function(reason) {
if ("response" in info && info.response[idx] === "error") {
- assert_throws(new TypeError(), function() { throw reason; });
+ assert_throws_js(TypeError, function() { throw reason; });
} else {
throw reason;
}
diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-disturbed.html b/tests/wpt/web-platform-tests/fetch/api/request/request-disturbed.html
index d247a7ff2db..27614e7e742 100644
--- a/tests/wpt/web-platform-tests/fetch/api/request/request-disturbed.html
+++ b/tests/wpt/web-platform-tests/fetch/api/request/request-disturbed.html
@@ -40,12 +40,12 @@
test(function() {
assert_true(bodyConsumed.bodyUsed , "bodyUsed is true when request is disturbed");
- assert_throws(new TypeError(), function() { bodyConsumed.clone(); });
+ assert_throws_js(TypeError, function() { bodyConsumed.clone(); });
}, "Check cloning a disturbed request");
test(function() {
assert_true(bodyConsumed.bodyUsed , "bodyUsed is true when request is disturbed");
- assert_throws(new TypeError(), function() { new Request(bodyConsumed); });
+ assert_throws_js(TypeError, function() { new Request(bodyConsumed); });
}, "Check creating a new request from a disturbed request");
promise_test(function() {
@@ -100,13 +100,13 @@
assert_false(req.bodyUsed,
'Request should not be flagged as used if it has not been ' +
'consumed.');
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { new Request(req, {method: 'GET'}); },
'A get request may not have body.');
assert_false(req.bodyUsed, 'After the GET case');
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { new Request(req, {method: 'CONNECT'}); },
'Request() with a forbidden method must throw.');
diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-error.html b/tests/wpt/web-platform-tests/fetch/api/request/request-error.html
index 70be9fb0e7c..622ba3f4c28 100644
--- a/tests/wpt/web-platform-tests/fetch/api/request/request-error.html
+++ b/tests/wpt/web-platform-tests/fetch/api/request/request-error.html
@@ -15,8 +15,8 @@
// badRequestArgTests is from response-error.js
for (const { args, testName } of badRequestArgTests) {
test(() => {
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => new Request(...args),
"Expect TypeError exception"
);
diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-init-002.html b/tests/wpt/web-platform-tests/fetch/api/request/request-init-002.html
index 221b415a3c1..14be2774220 100644
--- a/tests/wpt/web-platform-tests/fetch/api/request/request-init-002.html
+++ b/tests/wpt/web-platform-tests/fetch/api/request/request-init-002.html
@@ -31,8 +31,8 @@
promise_test(function(test) {
var request = new Request("", makeRequestInit(body, "POST"));
if (body) {
- assert_throws(new TypeError(), function() { new Request("", makeRequestInit(body, "GET")); });
- assert_throws(new TypeError(), function() { new Request("", makeRequestInit(body, "HEAD")); });
+ assert_throws_js(TypeError, function() { new Request("", makeRequestInit(body, "GET")); });
+ assert_throws_js(TypeError, function() { new Request("", makeRequestInit(body, "HEAD")); });
} else {
new Request("", makeRequestInit(body, "GET")); // should not throw
}
diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-init-stream.any.js b/tests/wpt/web-platform-tests/fetch/api/request/request-init-stream.any.js
index df5fb26a0d8..e7ffa729d15 100644
--- a/tests/wpt/web-platform-tests/fetch/api/request/request-init-stream.any.js
+++ b/tests/wpt/web-platform-tests/fetch/api/request/request-init-stream.any.js
@@ -3,7 +3,7 @@
"use strict";
async function assert_request(test, input, init) {
- assert_throws(new TypeError(), () => new Request(input, init), "new Request()");
+ assert_throws_js(TypeError, () => new Request(input, init), "new Request()");
await promise_rejects_js(test, TypeError, fetch(input, init), "fetch()");
}
diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive.html b/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive.html
index 602fabc4db3..e165422166e 100644
--- a/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive.html
+++ b/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive.html
@@ -21,7 +21,7 @@ test(() => {
test(() => {
const init = {method: 'POST', keepalive: true, body: new ReadableStream()};
- assert_throws(new TypeError(), () => {new Request('/', init)});
+ assert_throws_js(TypeError, () => {new Request('/', init)});
}, 'keepalive flag with stream body');
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/fetch/api/response/response-clone.html b/tests/wpt/web-platform-tests/fetch/api/response/response-clone.html
index f586c81bac7..f5ebd7940e1 100644
--- a/tests/wpt/web-platform-tests/fetch/api/response/response-clone.html
+++ b/tests/wpt/web-platform-tests/fetch/api/response/response-clone.html
@@ -58,7 +58,7 @@
var disturbedResponse = new Response("data");
return disturbedResponse.text().then(function() {
assert_true(disturbedResponse.bodyUsed, "response is disturbed");
- assert_throws(new TypeError() , function() { disturbedResponse.clone(); },
+ assert_throws_js(TypeError, function() { disturbedResponse.clone(); },
"Expect TypeError exception");
});
}, "Cannot clone a disturbed response");
diff --git a/tests/wpt/web-platform-tests/fetch/api/response/response-error.html b/tests/wpt/web-platform-tests/fetch/api/response/response-error.html
index 1e68f6d01c6..7cbb1383459 100644
--- a/tests/wpt/web-platform-tests/fetch/api/response/response-error.html
+++ b/tests/wpt/web-platform-tests/fetch/api/response/response-error.html
@@ -13,7 +13,7 @@
var invalidStatus = [0, 100, 199, 600, 1000];
invalidStatus.forEach(function(status) {
test(function() {
- assert_throws(new RangeError() , function() { new Response("", { "status" : status }); },
+ assert_throws_js(RangeError, function() { new Response("", { "status" : status }); },
"Expect RangeError exception when status is " + status);
},"Throws RangeError when responseInit's status is " + status);
});
@@ -21,7 +21,7 @@
var invalidStatusText = ["\n", "Ā"];
invalidStatusText.forEach(function(statusText) {
test(function() {
- assert_throws(new TypeError() , function() { new Response("", { "statusText" : statusText }); },
+ assert_throws_js(TypeError, function() { new Response("", { "statusText" : statusText }); },
"Expect TypeError exception " + statusText);
},"Throws TypeError when responseInit's statusText is " + statusText);
});
@@ -29,7 +29,7 @@
var nullBodyStatus = [204, 205, 304];
nullBodyStatus.forEach(function(status) {
test(function() {
- assert_throws(new TypeError() ,
+ assert_throws_js(TypeError,
function() { new Response("body", {"status" : status }); },
"Expect TypeError exception ");
},"Throws TypeError when building a response with body and a body status of " + status);
diff --git a/tests/wpt/web-platform-tests/fetch/api/response/response-from-stream.any.js b/tests/wpt/web-platform-tests/fetch/api/response/response-from-stream.any.js
index 93b29b42867..ea5192bfb10 100644
--- a/tests/wpt/web-platform-tests/fetch/api/response/response-from-stream.any.js
+++ b/tests/wpt/web-platform-tests/fetch/api/response/response-from-stream.any.js
@@ -5,13 +5,13 @@
test(() => {
const stream = new ReadableStream();
stream.getReader();
- assert_throws(new TypeError(), () => new Response(stream));
+ assert_throws_js(TypeError, () => new Response(stream));
}, "Constructing a Response with a stream on which getReader() is called");
test(() => {
const stream = new ReadableStream();
stream.getReader().read();
- assert_throws(new TypeError(), () => new Response(stream));
+ assert_throws_js(TypeError, () => new Response(stream));
}, "Constructing a Response with a stream on which read() is called");
promise_test(async () => {
@@ -19,5 +19,5 @@ promise_test(async () => {
reader = stream.getReader();
await reader.read();
reader.releaseLock();
- assert_throws(new TypeError(), () => new Response(stream));
+ assert_throws_js(TypeError, () => new Response(stream));
}, "Constructing a Response with a stream on which read() and releaseLock() are called");
diff --git a/tests/wpt/web-platform-tests/fetch/api/response/response-static-redirect.html b/tests/wpt/web-platform-tests/fetch/api/response/response-static-redirect.html
index a7492229fd0..f647b6debeb 100644
--- a/tests/wpt/web-platform-tests/fetch/api/response/response-static-redirect.html
+++ b/tests/wpt/web-platform-tests/fetch/api/response/response-static-redirect.html
@@ -37,14 +37,14 @@
test(function() {
var invalidUrl = "http://:This is not an url";
- assert_throws(new TypeError(), function() { Response.redirect(invalidUrl); },
+ assert_throws_js(TypeError, function() { Response.redirect(invalidUrl); },
"Expect TypeError exception");
}, "Check error returned when giving invalid url to redirect()");
var invalidRedirectStatus = [200, 309, 400, 500];
invalidRedirectStatus.forEach(function(invalidStatus) {
test(function() {
- assert_throws(new RangeError() , function() { Response.redirect(url, invalidStatus); },
+ assert_throws_js(RangeError, function() { Response.redirect(url, invalidStatus); },
"Expect RangeError exception");
}, "Check error returned when giving invalid status to redirect(), status = " + invalidStatus);
});
diff --git a/tests/wpt/web-platform-tests/fetch/api/response/response-stream-disturbed-5.html b/tests/wpt/web-platform-tests/fetch/api/response/response-stream-disturbed-5.html
index 546b7b88801..830a41bc809 100644
--- a/tests/wpt/web-platform-tests/fetch/api/response/response-stream-disturbed-5.html
+++ b/tests/wpt/web-platform-tests/fetch/api/response/response-stream-disturbed-5.html
@@ -16,7 +16,7 @@ promise_test(function() {
return fetch("../resources/data.json").then(function(response) {
response.blob();
assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
+ assert_throws_js(TypeError, function() { response.body.getReader(); });
});
}, "Getting a body reader after consuming as blob");
@@ -24,7 +24,7 @@ promise_test(function() {
return fetch("../resources/data.json").then(function(response) {
response.text();
assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
+ assert_throws_js(TypeError, function() { response.body.getReader(); });
});
}, "Getting a body reader after consuming as text");
@@ -32,7 +32,7 @@ promise_test(function() {
return fetch("../resources/data.json").then(function(response) {
response.json();
assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
+ assert_throws_js(TypeError, function() { response.body.getReader(); });
});
}, "Getting a body reader after consuming as json");
@@ -40,7 +40,7 @@ promise_test(function() {
return fetch("../resources/data.json").then(function(response) {
response.arrayBuffer();
assert_not_equals(response.body, null);
- assert_throws(new TypeError(), function() { response.body.getReader(); });
+ assert_throws_js(TypeError, function() { response.body.getReader(); });
});
}, "Getting a body reader after consuming as arrayBuffer");
diff --git a/tests/wpt/web-platform-tests/fetch/http-cache/http-cache.js b/tests/wpt/web-platform-tests/fetch/http-cache/http-cache.js
index ce49ad85363..2ab51165f35 100644
--- a/tests/wpt/web-platform-tests/fetch/http-cache/http-cache.js
+++ b/tests/wpt/web-platform-tests/fetch/http-cache/http-cache.js
@@ -59,7 +59,7 @@ function makeFetchFunctions(requests, uuid) {
.then(makeCheckResponse(idx, config))
.then(makeCheckResponseBody(config, uuid), function (reason) {
if ('expected_type' in config && config.expected_type === 'error') {
- assert_throws(new TypeError(), function () { throw reason })
+ assert_throws_js(TypeError, function () { throw reason })
} else {
throw reason
}
diff --git a/tests/wpt/web-platform-tests/fetch/images/canvas-remote-read-remote-image-redirect.html b/tests/wpt/web-platform-tests/fetch/images/canvas-remote-read-remote-image-redirect.html
index 32a387288af..4a887f3d331 100644
--- a/tests/wpt/web-platform-tests/fetch/images/canvas-remote-read-remote-image-redirect.html
+++ b/tests/wpt/web-platform-tests/fetch/images/canvas-remote-read-remote-image-redirect.html
@@ -15,7 +15,7 @@ image.onload = function() {
const context = canvas.getContext("2d");
context.drawImage(image, 0, 0, 100, 100);
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
context.getImageData(0, 0, 100, 100);
});
done();
diff --git a/tests/wpt/web-platform-tests/fullscreen/rendering/fullscreen-pseudo-class-support.html b/tests/wpt/web-platform-tests/fullscreen/rendering/fullscreen-pseudo-class-support.html
index ccd3f0e22be..fb2ff318b9e 100644
--- a/tests/wpt/web-platform-tests/fullscreen/rendering/fullscreen-pseudo-class-support.html
+++ b/tests/wpt/web-platform-tests/fullscreen/rendering/fullscreen-pseudo-class-support.html
@@ -12,8 +12,8 @@
// would fail.
test(t => {
// precondition is to throw for unknown pseudo-classes:
- assert_throws(new SyntaxError(), () => document.body.matches(':halfscreen'));
- assert_throws(new SyntaxError(), () => document.querySelector(':halfscreen'));
+ assert_throws_dom("SyntaxError", () => document.body.matches(':halfscreen'));
+ assert_throws_dom("SyntaxError", () => document.querySelector(':halfscreen'));
// the actual test:
assert_false(document.body.matches(':fullscreen'));
assert_equals(document.querySelector(':fullscreen'), null);
diff --git a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-feature-policy-test.sub.js b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-feature-policy-test.sub.js
index fabd4a7ded3..2a1fba9f83c 100644
--- a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-feature-policy-test.sub.js
+++ b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-feature-policy-test.sub.js
@@ -29,7 +29,7 @@ function run_fp_tests_disabled(sensorName) {
test(() => {
assert_true(sensorName in self);
- assert_throws("SecurityError", () => {new sensorType()});
+ assert_throws_dom("SecurityError", () => {new sensorType()});
}, `${sensorName}: ${header} disallows the top-level document.`);
async_test(t => {
diff --git a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js
index f0d37fb9f24..0cb3cb224a1 100644
--- a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js
+++ b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js
@@ -465,12 +465,12 @@ function runGenericSensorTests(sensorName,
// Re-enable after https://github.com/w3c/sensors/issues/361 is fixed.
// test(() => {
-// assert_throws("NotSupportedError",
+// assert_throws_dom("NotSupportedError",
// () => { new sensorType({invalid: 1}) });
-// assert_throws("NotSupportedError",
+// assert_throws_dom("NotSupportedError",
// () => { new sensorType({frequency: 60, invalid: 1}) });
// if (!expectedRemappedReadings) {
-// assert_throws("NotSupportedError",
+// assert_throws_dom("NotSupportedError",
// () => { new sensorType({referenceFrame: "screen"}) });
// }
// }, `${sensorName}: throw 'NotSupportedError' for an unsupported sensor\
@@ -486,7 +486,7 @@ function runGenericSensorTests(sensorName,
{}
];
invalidFreqs.map(freq => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => { new sensorType({frequency: freq}) },
`when freq is ${freq}`);
});
@@ -538,7 +538,7 @@ function runGenericSensorTests(sensorName,
true
];
invalidRefFrames.map(refFrame => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => { new sensorType({referenceFrame: refFrame}) },
`when refFrame is ${refFrame}`);
});
diff --git a/tests/wpt/web-platform-tests/geolocation-API/getCurrentPosition_TypeError.html b/tests/wpt/web-platform-tests/geolocation-API/getCurrentPosition_TypeError.html
index a2e57846979..6726e8ab6c7 100644
--- a/tests/wpt/web-platform-tests/geolocation-API/getCurrentPosition_TypeError.html
+++ b/tests/wpt/web-platform-tests/geolocation-API/getCurrentPosition_TypeError.html
@@ -11,42 +11,42 @@
<script>
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00027
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.getCurrentPosition();
});
}, 'Call getCurrentPosition without arguments, check that exception is thrown');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00011
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.getCurrentPosition(null);
});
}, 'Call getCurrentPosition with null success callback, check that exception is thrown');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00013
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.getCurrentPosition(null, null);
});
}, 'Call getCurrentPosition with null success and error callbacks, check that exception is thrown');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00028
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.getCurrentPosition(3);
});
}, 'Call getCurrentPosition() with wrong type for first argument. Exception expected.');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00029
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.getCurrentPosition(dummyFunction, 4);
});
}, 'Call getCurrentPosition() with wrong type for second argument. Exception expected.');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00030
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.getCurrentPosition(dummyFunction, dummyFunction, 4);
});
}, 'Call getCurrentPosition() with wrong type for third argument. Exception expected.');
diff --git a/tests/wpt/web-platform-tests/geolocation-API/watchPosition_TypeError.html b/tests/wpt/web-platform-tests/geolocation-API/watchPosition_TypeError.html
index 9d7efd5e7b9..dd8287f5713 100644
--- a/tests/wpt/web-platform-tests/geolocation-API/watchPosition_TypeError.html
+++ b/tests/wpt/web-platform-tests/geolocation-API/watchPosition_TypeError.html
@@ -11,42 +11,42 @@
<script>
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00058
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.watchPosition();
});
}, 'Call watchPosition without arguments, check that exception is thrown');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00015
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.watchPosition(null);
});
}, 'Call watchPosition with null success callback, check that exception is thrown');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00017
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.watchPosition(null, null);
});
}, 'Call watchPosition with null success and error callbacks, check that exception is thrown');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00059
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.watchPosition(3);
});
}, 'Call watchPosition() with wrong type for first argument. Exception expected.');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00060
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.watchPosition(dummyFunction, 4);
});
}, 'Call watchPosition() with wrong type for second argument. Exception expected.');
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00061
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
geo.watchPosition(dummyFunction, dummyFunction, 4);
});
}, 'Call watchPosition() with wrong type for third argument. Exception expected.');
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/001.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/001.html
index ac8c8000777..da93e0dafc7 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/001.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/001.html
@@ -82,19 +82,19 @@ function reportload() {
function tests4() {
test(function () {
//Firefox 4 beta 11 has a messed up error object, which does not have the right error type or .SECURITY_ERR property
- assert_throws('SECURITY_ERR',function () { history.pushState('','','//exa mple'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.pushState('','','//exa mple'); });
}, 'pushState must not be allowed to create invalid URLs');
test(function () {
- assert_throws('SECURITY_ERR',function () { history.pushState('','','http://www.example.com/'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.pushState('','','http://www.example.com/'); });
}, 'pushState must not be allowed to create cross-origin URLs');
test(function () {
- assert_throws('SECURITY_ERR',function () { history.pushState('','','about:blank'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.pushState('','','about:blank'); });
}, 'pushState must not be allowed to create cross-origin URLs (about:blank)');
test(function () {
- assert_throws('SECURITY_ERR',function () { history.pushState('','','data:text/html,'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.pushState('','','data:text/html,'); });
}, 'pushState must not be allowed to create cross-origin URLs (data:URI)');
test(function () {
- assert_throws('SECURITY_ERR',function () { iframe.contentWindow.history.pushState('','','http://www.example.com/'); },iframe.contentWindow);
+ assert_throws_dom('SECURITY_ERR',function () { iframe.contentWindow.history.pushState('','','http://www.example.com/'); },iframe.contentWindow);
}, 'security errors are expected to be thrown in the context of the document that owns the history object');
test(function () {
iframe.contentWindow.location.hash = 'test2';
@@ -164,12 +164,12 @@ function reportload() {
assert_equals( iframe.contentWindow.location.href, newURL );
}, 'pushState must be able to set absolute URLs to the same host');
test(function () {
- assert_throws( 'DATA_CLONE_ERR', function () {
+ assert_throws_dom( 'DATA_CLONE_ERR', function () {
history.pushState({dummy:function () {}},'');
} );
}, 'pushState must not be able to use a function as data');
test(function () {
- assert_throws( 'DATA_CLONE_ERR', function () {
+ assert_throws_dom( 'DATA_CLONE_ERR', function () {
history.pushState({dummy:window},'');
} );
}, 'pushState must not be able to use a DOM node as data');
@@ -180,7 +180,7 @@ function reportload() {
}
}, 'pushState must be able to use an error object as data');
test(function () {
- assert_throws( 'DATA_CLONE_ERR', function () {
+ assert_throws_dom( 'DATA_CLONE_ERR', function () {
iframe.contentWindow.history.pushState(document,'');
}, iframe.contentWindow );
}, 'security errors are expected to be thrown in the context of the document that owns the history object (2)');
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/002.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/002.html
index 431f6a58634..dba28b0471c 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/002.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/002.html
@@ -87,19 +87,19 @@ function reportload() {
assert_equals( iframe.contentWindow.location.hash.replace(/^#/,''), 'test2' );
}, 'replaceState must replace the existing state without altering the forward history');
test(function () {
- assert_throws('SECURITY_ERR',function () { history.replaceState('','','//exa mple'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.replaceState('','','//exa mple'); });
}, 'replaceState must not be allowed to create invalid URLs');
test(function () {
- assert_throws('SECURITY_ERR',function () { history.replaceState('','','http://www.example.com/'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.replaceState('','','http://www.example.com/'); });
}, 'replaceState must not be allowed to create cross-origin URLs');
test(function () {
- assert_throws('SECURITY_ERR',function () { history.replaceState('','','about:blank'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.replaceState('','','about:blank'); });
}, 'replaceState must not be allowed to create cross-origin URLs (about:blank)');
test(function () {
- assert_throws('SECURITY_ERR',function () { history.replaceState('','','data:text/html,'); });
+ assert_throws_dom('SECURITY_ERR',function () { history.replaceState('','','data:text/html,'); });
}, 'replaceState must not be allowed to create cross-origin URLs (data:URI)');
test(function () {
- assert_throws('SECURITY_ERR',function () { iframe.contentWindow.history.replaceState('','','http://www.example.com/'); },iframe.contentWindow);
+ assert_throws_dom('SECURITY_ERR',function () { iframe.contentWindow.history.replaceState('','','http://www.example.com/'); },iframe.contentWindow);
}, 'security errors are expected to be thrown in the context of the document that owns the history object');
test(function () {
//avoids browsers running .go synchronously when only a hash change is involved
@@ -145,12 +145,12 @@ function reportload() {
assert_false( hashchng );
}, 'replaceState must not fire hashchange events');
test(function () {
- assert_throws( 'DATA_CLONE_ERR', function () {
+ assert_throws_dom( 'DATA_CLONE_ERR', function () {
history.replaceState({dummy:function () {}},'');
} );
}, 'replaceState must not be able to use a function as data');
test(function () {
- assert_throws( 'DATA_CLONE_ERR', function () {
+ assert_throws_dom( 'DATA_CLONE_ERR', function () {
history.replaceState({dummy:window},'');
} );
}, 'replaceState must not be able to use a DOM node as data');
@@ -161,7 +161,7 @@ function reportload() {
}
}, 'replaceState must be able to use an error object as data');
test(function () {
- assert_throws( 'DATA_CLONE_ERR', function () {
+ assert_throws_dom( 'DATA_CLONE_ERR', function () {
iframe.contentWindow.history.replaceState(document,'');
}, iframe.contentWindow );
}, 'security errors are expected to be thrown in the context of the document that owns the history object (2)');
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_properties_only_fully_active.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_properties_only_fully_active.html
index 0404a6b2e02..bc09507f0ad 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_properties_only_fully_active.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_properties_only_fully_active.html
@@ -10,13 +10,13 @@
var ifr = document.getElementById("child");
var cached_history = ifr.contentWindow.history;
ifr.remove();
- assert_throws("SecurityError", function() { cached_history.length; });
- assert_throws("SecurityError", function() { cached_history.scrollRestoration; });
- assert_throws("SecurityError", function() { cached_history.state; });
- assert_throws("SecurityError", function() { cached_history.go(0); });
- assert_throws("SecurityError", function() { cached_history.back(); });
- assert_throws("SecurityError", function() { cached_history.forward(); });
- assert_throws("SecurityError", function() { cached_history.pushState(1, document.title, "?x=1"); });
- assert_throws("SecurityError", function() { cached_history.replaceState(2, document.title, "?x=2"); });
+ assert_throws_dom("SecurityError", function() { cached_history.length; });
+ assert_throws_dom("SecurityError", function() { cached_history.scrollRestoration; });
+ assert_throws_dom("SecurityError", function() { cached_history.state; });
+ assert_throws_dom("SecurityError", function() { cached_history.go(0); });
+ assert_throws_dom("SecurityError", function() { cached_history.back(); });
+ assert_throws_dom("SecurityError", function() { cached_history.forward(); });
+ assert_throws_dom("SecurityError", function() { cached_history.pushState(1, document.title, "?x=1"); });
+ assert_throws_dom("SecurityError", function() { cached_history.replaceState(2, document.title, "?x=2"); });
});
</script>
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_err.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_err.html
index 82afc04f2dd..6fa0a8589d8 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_err.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_err.html
@@ -9,7 +9,7 @@
<div id="log"></div>
<script>
test(function () {
- assert_throws("SecurityError", function () {
+ assert_throws_dom("SecurityError", function () {
window.history.pushState(1, document.title, 'http://www.microsoft.com/test.html');
});
}, "history pushState SECURITY_ERR");
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_replacestate_err.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_replacestate_err.html
index 3060cf1f128..15d2181820c 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_replacestate_err.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_replacestate_err.html
@@ -9,7 +9,7 @@
<div id="log"></div>
<script>
test(function () {
- assert_throws("SecurityError", function () {
+ assert_throws_dom("SecurityError", function () {
window.history.replaceState(1, document.title, 'http://www.microsoft.com/test.html');
});
}, "history replaceState SECURITY_ERR");
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html
index ef92f7ab0f8..1afef4628d4 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html
@@ -86,7 +86,7 @@ onmessage = (e) => {
]
;broken.forEach((val) => {
test(() => {
- assert_throws("SyntaxError", () => { location.protocol = val })
+ assert_throws_dom("SyntaxError", () => { location.protocol = val })
}, encodeURI(val) + " (percent-encoded) is not a scheme")
})
let c = 0
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html
index 570dfccd40f..8ec7585daa1 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html
@@ -23,7 +23,7 @@ window.onload = () => {
assert_not_equals(origProto, null);
}, "Same-origin-domain prerequisite check: the original prototype is accessible");
- testSettingImmutablePrototype("Same-origin-domain", targetLocation, origProto, { isSameOriginDomain: true });
+ testSettingImmutablePrototype("Same-origin-domain", targetLocation, origProto, { isSameOriginDomain: true }, frames[0]);
done();
};
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_assign.html b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_assign.html
index 7e18804c283..55f26d5660a 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_assign.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_assign.html
@@ -18,7 +18,7 @@
test(function () {
var href = location.href;
- assert_throws('SYNTAX_ERR', function() { location.assign("http://:"); });
+ assert_throws_dom('SYNTAX_ERR', function() { location.assign("http://:"); });
assert_equals(location.href, href);
}, "URL that fails to parse");
</script>
diff --git a/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_swapcache_error.https.html b/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_swapcache_error.https.html
index 02e7b3cd8c0..4e069d73f7f 100644
--- a/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_swapcache_error.https.html
+++ b/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_swapcache_error.https.html
@@ -12,7 +12,7 @@
var cache = window.applicationCache;
test(function() {
- assert_throws("INVALID_STATE_ERR", function(){cache.swapCache();});
+ assert_throws_dom("INVALID_STATE_ERR", function(){cache.swapCache();});
}, "INVALID_STATE_ERR error test")
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_update_error.https.html b/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_update_error.https.html
index 469baea8bad..46386939c5c 100644
--- a/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_update_error.https.html
+++ b/tests/wpt/web-platform-tests/html/browsers/offline/application-cache-api/api_update_error.https.html
@@ -11,7 +11,7 @@
<script>
var cache = window.applicationCache;
test(function() {
- assert_throws("INVALID_STATE_ERR", function(){cache.update();});
+ assert_throws_dom("INVALID_STATE_ERR", function(){cache.update();});
}, "INVALID_STATE_ERR error test")
</script>
diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-due-to-document-domain-only.html b/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-due-to-document-domain-only.html
index 919a05ed2a2..425374faec0 100644
--- a/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-due-to-document-domain-only.html
+++ b/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-due-to-document-domain-only.html
@@ -18,12 +18,12 @@ async_test(t => {
assert_equals(frame.contentWindow, innerSelf);
assert_equals(frame.contentDocument, innerDocument);
innerSelf.setDocumentDomain();
- assert_throws("SecurityError", () => innerSelf.expandosForever);
- assert_throws("SecurityError", () => innerLocation.expandosForever);
- assert_throws("SecurityError", () => innerLocation.host);
+ assert_throws_dom("SecurityError", () => innerSelf.expandosForever);
+ assert_throws_dom("SecurityError", () => innerLocation.expandosForever);
+ assert_throws_dom("SecurityError", () => innerLocation.host);
assert_equals(innerSelf.parent, self);
- assert_throws("SecurityError", () => innerSelf.frameElement);
- assert_throws("SecurityError", () => innerLocation.reload());
+ assert_throws_dom("SecurityError", () => innerSelf.frameElement);
+ assert_throws_dom("SecurityError", () => innerLocation.reload());
assert_equals(frame.contentWindow, innerSelf);
assert_equals(frame.contentDocument, null);
// Cross-origin Document object obtained before it became cross-origin has no protections
diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html b/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html
index 2c92d5e51ad..46fc568a0ee 100644
--- a/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html
+++ b/tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html
@@ -145,7 +145,7 @@ addTest(function(win) {
assert_equals(B.parent, window, "window.parent works same-origin");
assert_equals(win.parent, window, "window.parent works cross-origin");
assert_equals(B.location.pathname, path, "location.href works same-origin");
- assert_throws("SecurityError", function() { win.location.pathname; }, "location.pathname throws cross-origin");
+ assert_throws_dom("SecurityError", function() { win.location.pathname; }, "location.pathname throws cross-origin");
assert_equals(B.frames, 'override', "Overrides visible in the same-origin case");
assert_equals(win.frames, win, "Overrides invisible in the cross-origin case");
assert_equals(B.focus, 'override', "Overrides visible in the same-origin case");
@@ -221,14 +221,14 @@ addTest(function(win) {
Object.getOwnPropertyDescriptor(win, prop); // Shouldn't throw.
assert_true(Object.prototype.hasOwnProperty.call(win, prop), "hasOwnProperty for " + String(prop));
} else {
- assert_throws("SecurityError", function() { win[prop]; }, "Should throw when accessing " + String(prop) + " on Window");
- assert_throws("SecurityError", function() { Object.getOwnPropertyDescriptor(win, prop); },
+ assert_throws_dom("SecurityError", function() { win[prop]; }, "Should throw when accessing " + String(prop) + " on Window");
+ assert_throws_dom("SecurityError", function() { Object.getOwnPropertyDescriptor(win, prop); },
"Should throw when accessing property descriptor for " + prop + " on Window");
- assert_throws("SecurityError", function() { Object.prototype.hasOwnProperty.call(win, prop); },
+ assert_throws_dom("SecurityError", function() { Object.prototype.hasOwnProperty.call(win, prop); },
"Should throw when invoking hasOwnProperty for " + prop + " on Window");
}
if (prop != 'location')
- assert_throws("SecurityError", function() { win[prop] = undefined; }, "Should throw when writing to " + prop + " on Window");
+ assert_throws_dom("SecurityError", function() { win[prop] = undefined; }, "Should throw when writing to " + prop + " on Window");
}
for (var prop of windowAllowlists.namedFrames) {
win[prop]; // Shouldn't throw.
@@ -240,21 +240,21 @@ addTest(function(win) {
win.location[prop]; // Shouldn't throw.
Object.getOwnPropertyDescriptor(win.location, prop); // Shouldn't throw.
assert_true(Object.prototype.hasOwnProperty.call(win.location, prop), "hasOwnProperty for " + prop);
- assert_throws("SecurityError", function() { win.location[prop] = undefined; }, "Should throw when writing to " + prop + " on Location");
+ assert_throws_dom("SecurityError", function() { win.location[prop] = undefined; }, "Should throw when writing to " + prop + " on Location");
}
else if (prop == 'href') {
Object.getOwnPropertyDescriptor(win.location, prop); // Shouldn't throw.
assert_true(Object.prototype.hasOwnProperty.call(win.location, prop), "hasOwnProperty for " + prop);
- assert_throws("SecurityError", function() { win.location[prop] },
+ assert_throws_dom("SecurityError", function() { win.location[prop] },
"Should throw reading href on Location");
}
else {
- assert_throws("SecurityError", function() { win.location[prop]; }, "Should throw when accessing " + prop + " on Location");
- assert_throws("SecurityError", function() { Object.getOwnPropertyDescriptor(win.location, prop); },
+ assert_throws_dom("SecurityError", function() { win.location[prop]; }, "Should throw when accessing " + prop + " on Location");
+ assert_throws_dom("SecurityError", function() { Object.getOwnPropertyDescriptor(win.location, prop); },
"Should throw when accessing property descriptor for " + prop + " on Location");
- assert_throws("SecurityError", function() { Object.prototype.hasOwnProperty.call(win.location, prop); },
+ assert_throws_dom("SecurityError", function() { Object.prototype.hasOwnProperty.call(win.location, prop); },
"Should throw when invoking hasOwnProperty for " + prop + " on Location");
- assert_throws("SecurityError", function() { win.location[prop] = undefined; }, "Should throw when writing to " + prop + " on Location");
+ assert_throws_dom("SecurityError", function() { win.location[prop] = undefined; }, "Should throw when writing to " + prop + " on Location");
}
}
}, "Only certain properties are accessible cross-origin");
@@ -278,7 +278,7 @@ addPromiseTest(async function(win, test_obj) {
`Should throw when calling ${objName}.${prop} with cross-origin this object`);
} else if (!allowedlists.methods.includes(prop)) {
for (let args of methodArgs.get(prop) || [[]]) {
- assert_throws("SecurityError", desc.value.bind(otherObj, ...args),
+ assert_throws_dom("SecurityError", desc.value.bind(otherObj, ...args),
`Should throw when calling ${objName}.${prop} with cross-origin this object`);
}
@@ -293,7 +293,7 @@ addPromiseTest(async function(win, test_obj) {
if (allowedlists.getters.includes(prop)) {
desc.get.call(otherObj); // Shouldn't throw.
} else {
- assert_throws("SecurityError", desc.get.bind(otherObj),
+ assert_throws_dom("SecurityError", desc.get.bind(otherObj),
`Should throw when calling ${objName}.${prop} getter with cross-origin this object`);
}
}
@@ -301,7 +301,7 @@ addPromiseTest(async function(win, test_obj) {
if (allowedlists.setters.includes(prop)) {
desc.set.call(otherObj, "javascript:undefined"); // Shouldn't throw.
} else {
- assert_throws("SecurityError", desc.set.bind(otherObj, "foo"),
+ assert_throws_dom("SecurityError", desc.set.bind(otherObj, "foo"),
`Should throw when calling ${objName}.${prop} setter with cross-origin this object`);
}
}
@@ -326,8 +326,8 @@ addTest(function(win) {
var protoGetter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').get;
assert_equals(protoGetter.call(win), null, "cross-origin Window proto is null");
assert_equals(protoGetter.call(win.location), null, "cross-origin Location proto is null (__proto__)");
- assert_throws("SecurityError", function() { win.__proto__; }, "__proto__ property not available cross-origin");
- assert_throws("SecurityError", function() { win.location.__proto__; }, "__proto__ property not available cross-origin");
+ assert_throws_dom("SecurityError", function() { win.__proto__; }, "__proto__ property not available cross-origin");
+ assert_throws_dom("SecurityError", function() { win.location.__proto__; }, "__proto__ property not available cross-origin");
}, "[[GetPrototypeOf]] should return null");
@@ -335,8 +335,8 @@ addTest(function(win) {
* [[SetPrototypeOf]]
*/
addTest(function(win) {
- assert_throws("SecurityError", function() { win.__proto__ = new Object(); }, "proto set on cross-origin Window");
- assert_throws("SecurityError", function() { win.location.__proto__ = new Object(); }, "proto set on cross-origin Location");
+ assert_throws_dom("SecurityError", function() { win.__proto__ = new Object(); }, "proto set on cross-origin Window");
+ assert_throws_dom("SecurityError", function() { win.location.__proto__ = new Object(); }, "proto set on cross-origin Location");
var setters = [Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set];
if (Object.setPrototypeOf)
setters.push(function(p) { Object.setPrototypeOf(this, p); });
@@ -443,7 +443,7 @@ addThenTest(function(win) {
addTest(function(win) {
assert_equals(typeof Object.getOwnPropertyDescriptor(win, '0').value, "object");
assert_equals(typeof Object.getOwnPropertyDescriptor(win, '1').value, "object");
- assert_throws("SecurityError", function() {
+ assert_throws_dom("SecurityError", function() {
Object.getOwnPropertyDescriptor(win, '2');
});
}, "[[GetOwnProperty]] - Should be able to get a property descriptor for an indexed property only if it corresponds to a child window.");
@@ -452,17 +452,17 @@ addTest(function(win) {
* [[Delete]]
*/
addTest(function(win) {
- assert_throws("SecurityError", function() { delete win[0]; }, "Can't delete cross-origin indexed property");
- assert_throws("SecurityError", function() { delete win[100]; }, "Can't delete cross-origin indexed property");
- assert_throws("SecurityError", function() { delete win.location; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.parent; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.length; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.document; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.foopy; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.location.href; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.location.replace; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.location.port; }, "Can't delete cross-origin property");
- assert_throws("SecurityError", function() { delete win.location.foopy; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win[0]; }, "Can't delete cross-origin indexed property");
+ assert_throws_dom("SecurityError", function() { delete win[100]; }, "Can't delete cross-origin indexed property");
+ assert_throws_dom("SecurityError", function() { delete win.location; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.parent; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.length; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.document; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.foopy; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.location.href; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.location.replace; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.location.port; }, "Can't delete cross-origin property");
+ assert_throws_dom("SecurityError", function() { delete win.location.foopy; }, "Can't delete cross-origin property");
}, "[[Delete]] Should throw on cross-origin objects");
/*
@@ -471,8 +471,8 @@ addTest(function(win) {
function checkDefine(obj, prop) {
var valueDesc = { configurable: true, enumerable: false, writable: false, value: 2 };
var accessorDesc = { configurable: true, enumerable: false, get: function() {} };
- assert_throws("SecurityError", function() { Object.defineProperty(obj, prop, valueDesc); }, "Can't define cross-origin value property " + prop);
- assert_throws("SecurityError", function() { Object.defineProperty(obj, prop, accessorDesc); }, "Can't define cross-origin accessor property " + prop);
+ assert_throws_dom("SecurityError", function() { Object.defineProperty(obj, prop, valueDesc); }, "Can't define cross-origin value property " + prop);
+ assert_throws_dom("SecurityError", function() { Object.defineProperty(obj, prop, accessorDesc); }, "Can't define cross-origin accessor property " + prop);
}
addTest(function(win) {
checkDefine(win, 'length');
@@ -670,10 +670,10 @@ addTest(function(win) {
// Check that applying it to a cross-origin window throws instead of doing
// the [LenientThis] behavior.
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
desc.get.call(win);
}, "Should throw when getting cross-origin");
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
desc.set.call(win, f);
}, "Should throw when setting cross-origin");
}, "LenientThis behavior");
diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/origin-of-data-document.html b/tests/wpt/web-platform-tests/html/browsers/origin/origin-of-data-document.html
index d6b6d533a22..448f47fa244 100644
--- a/tests/wpt/web-platform-tests/html/browsers/origin/origin-of-data-document.html
+++ b/tests/wpt/web-platform-tests/html/browsers/origin/origin-of-data-document.html
@@ -17,7 +17,7 @@
window.addEventListener("message", t.step_func_done(function (e) {
assert_equals(e.origin, "null", "Messages sent from a 'data:' URL should have an opaque origin (which serializes to 'null').");
- assert_throws("SecurityError", function () {
+ assert_throws_dom("SecurityError", function () {
var couldAccessCrossOriginProperty = e.source.location.href;
}, "The 'data:' frame should be cross-origin: 'window.location.href'");
assert_equals(i.contentDocument, null, "The 'data:' iframe should be unable to access its contentDocument.");
diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html b/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html
index a55d85dfdf2..77f438c0166 100644
--- a/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html
+++ b/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html
@@ -20,10 +20,10 @@
iframe.src = iframe_url;
test(function() {
- assert_throws("SecurityError", function() { document.domain = SUFFIX_HOST; });
- assert_throws("SecurityError", function() { document.domain = "." + SUFFIX_HOST; });
- assert_throws("SecurityError", function() { document.domain = REMOTE_HOST; });
- assert_throws("SecurityError", function() { document.domain = "example.com"; });
+ assert_throws_dom("SecurityError", function() { document.domain = SUFFIX_HOST; });
+ assert_throws_dom("SecurityError", function() { document.domain = "." + SUFFIX_HOST; });
+ assert_throws_dom("SecurityError", function() { document.domain = REMOTE_HOST; });
+ assert_throws_dom("SecurityError", function() { document.domain = "example.com"; });
}, "failed setting of document.domain");
async_test(function(t) {
@@ -31,17 +31,17 @@
// Before setting document.domain, the iframe is not
// same-origin-domain, so security checks fail.
assert_equals(iframe.contentDocument, null);
- assert_throws("SecurityError", () => iframe.contentWindow.frameElement);
- assert_throws("SecurityError", function() { iframe.contentWindow.location.origin; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.href; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.protocol; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.host; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.port; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.hostname; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.pathname; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.hash; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.search; });
- assert_throws("SecurityError", function() { iframe.contentWindow.location.toString(); });
+ assert_throws_dom("SecurityError", () => iframe.contentWindow.frameElement);
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.origin; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.href; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.protocol; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.host; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.port; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.hostname; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.pathname; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.hash; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.search; });
+ assert_throws_dom("SecurityError", function() { iframe.contentWindow.location.toString(); });
// Set document.domain
document.domain = ORIGINAL_HOST;
// After setting document.domain, the iframe is
@@ -61,14 +61,14 @@
assert_equals(iframe.contentWindow.location.toString(), iframe_url.toString());
// document.open checks for same-origin, not same-origin-domain,
// https://github.com/whatwg/html/issues/2282
- assert_throws("SecurityError", function() { iframe.contentDocument.open(); });
+ assert_throws_dom("SecurityError", function() { iframe.contentDocument.open(); });
}));
}, "same-origin-domain iframe");
test(() => {
- assert_throws("SecurityError", () => { (new Document).domain = document.domain });
- assert_throws("SecurityError", () => { document.implementation.createHTMLDocument().domain = document.domain });
- assert_throws("SecurityError", () => { document.implementation.createDocument(null, "").domain = document.domain });
+ assert_throws_dom("SecurityError", () => { (new Document).domain = document.domain });
+ assert_throws_dom("SecurityError", () => { document.implementation.createHTMLDocument().domain = document.domain });
+ assert_throws_dom("SecurityError", () => { document.implementation.createDocument(null, "").domain = document.domain });
}, "failed setting of document.domain for documents without browsing context");
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/sandboxed-document_domain.html b/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/sandboxed-document_domain.html
index 824795f80b1..ae1a0ccd560 100644
--- a/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/sandboxed-document_domain.html
+++ b/tests/wpt/web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/sandboxed-document_domain.html
@@ -4,18 +4,18 @@
<script src="/resources/testharnessreport.js"></script>
<script>
test(() => {
- assert_throws("SecurityError", () => { document.domain = document.domain });
+ assert_throws_dom("SecurityError", () => { document.domain = document.domain });
});
test(() => {
- assert_throws("SecurityError", () => { (new Document).domain = document.domain });
+ assert_throws_dom("SecurityError", () => { (new Document).domain = document.domain });
});
test(() => {
- assert_throws("SecurityError", () => { document.implementation.createHTMLDocument().domain = document.domain });
+ assert_throws_dom("SecurityError", () => { document.implementation.createHTMLDocument().domain = document.domain });
});
test(() => {
- assert_throws("SecurityError", () => { document.implementation.createDocument(null, "").domain = document.domain });
+ assert_throws_dom("SecurityError", () => { document.implementation.createDocument(null, "").domain = document.domain });
});
test(() => {
- assert_throws("SecurityError", () => { document.createElement("template").content.ownerDocument.domain = document.domain });
+ assert_throws_dom("SecurityError", () => { document.createElement("template").content.ownerDocument.domain = document.domain });
});
</script>
diff --git a/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-same-origin.html b/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-same-origin.html
index d1bd00747f9..0dae0137ac9 100644
--- a/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-same-origin.html
+++ b/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-same-origin.html
@@ -19,7 +19,7 @@
}
function loaded() {
t.step(() => {
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
document.getElementById('sandboxedframe').contentWindow.document;
});
assert_equals(called, 0);
diff --git a/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html b/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html
index 0bb98c55382..3c8c0b346a6 100644
--- a/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html
+++ b/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative.html
@@ -6,9 +6,9 @@
async_test(t => {
let i = document.createElement('iframe');
i.sandbox = "allow-same-origin allow-popups allow-popups-to-escape-sandbox";
- i.srcdoc = `<a target='_blank'
+ i.srcdoc = `<a target='_blank' rel='opener'
href="javascript:window.opener.top.postMessage('FAIL', '*');">Click me!</a>
- <a target='_blank'
+ <a target='_blank' rel='opener'
href="./resources/post-done-to-opener.html">Click me next!</a>`;
i.onload = _ => {
diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/security-window/window-security.https.html b/tests/wpt/web-platform-tests/html/browsers/the-window-object/security-window/window-security.https.html
index 1fb0ed7c1e6..ad8f177f37d 100644
--- a/tests/wpt/web-platform-tests/html/browsers/the-window-object/security-window/window-security.https.html
+++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/security-window/window-security.https.html
@@ -139,7 +139,7 @@ function fr_load() {
].forEach(function (item) {
test(function () {
assert_true(item.name in window, "window." + item.name + " should exist.");
- assert_throws("SecurityError", function () {
+ assert_throws_dom("SecurityError", function () {
if (item.isMethod)
if (item.args)
fr.contentWindow[item.name](item.args[0], item.args[1]);
diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties-strict.html b/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties-strict.html
index e059b122616..faf214d12d5 100644
--- a/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties-strict.html
+++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties-strict.html
@@ -20,24 +20,24 @@ test(function() {
});
test(function() {
"use strict";
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
window[0] = "foo";
});
- assert_throws(new TypeError(), () => Object.defineProperty(window, 0, { value: "bar" }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 0, { get() { return "baz" } }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 0, { set(v) { return "qux" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 0, { value: "bar" }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 0, { get() { return "baz" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 0, { set(v) { return "qux" } }))
assert_equals(window[0],
document.getElementsByTagName("iframe")[0].contentWindow);
- assert_throws(new TypeError(), () => delete window[0]);
+ assert_throws_js(TypeError, () => delete window[0]);
});
test(function() {
"use strict";
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
window[1] = "foo";
});
- assert_throws(new TypeError(), () => Object.defineProperty(window, 1, { value: "bar" }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 1, { get() { return "baz" } }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 1, { set(v) { return "qux" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 1, { value: "bar" }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 1, { get() { return "baz" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 1, { set(v) { return "qux" } }))
assert_equals(window[1], undefined);
assert_equals(Object.getOwnPropertyDescriptor(window, 1), undefined);
assert_equals(delete window[1], true);
diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties.html b/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties.html
index 49247179738..0f896cb636e 100644
--- a/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties.html
+++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-properties.html
@@ -25,18 +25,18 @@ test(() => {
}, "Ensure indexed properties have the correct configuration");
test(function() {
window[0] = "foo";
- assert_throws(new TypeError(), () => Object.defineProperty(window, 0, { value: "bar" }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 0, { get() { return "baz" } }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 0, { set() { return "quz" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 0, { value: "bar" }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 0, { get() { return "baz" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 0, { set() { return "quz" } }))
assert_equals(window[0],
document.getElementsByTagName("iframe")[0].contentWindow);
assert_equals(delete window[0], false);
});
test(function() {
window[1] = "foo";
- assert_throws(new TypeError(), () => Object.defineProperty(window, 1, { value: "bar" }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 1, { get() { return "baz" } }))
- assert_throws(new TypeError(), () => Object.defineProperty(window, 1, { set(v) { return "quz" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 1, { value: "bar" }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 1, { get() { return "baz" } }))
+ assert_throws_js(TypeError, () => Object.defineProperty(window, 1, { set(v) { return "quz" } }))
assert_equals(window[1], undefined);
assert_equals(Object.getOwnPropertyDescriptor(window, 1), undefined);
assert_equals(delete window[1], true);
diff --git a/tests/wpt/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html b/tests/wpt/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html
index 83d11a20e09..fb18822ac5b 100644
--- a/tests/wpt/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html
+++ b/tests/wpt/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html
@@ -23,7 +23,7 @@ window.onload = () => {
assert_not_equals(origProto, null);
}, "Same-origin-domain prerequisite check: the original prototype is accessible");
- testSettingImmutablePrototype("Same-origin-domain", target, origProto, { isSameOriginDomain: true });
+ testSettingImmutablePrototype("Same-origin-domain", target, origProto, { isSameOriginDomain: true }, frames[0]);
done();
};
diff --git a/tests/wpt/web-platform-tests/html/browsers/windows/document-domain-nested-navigate.window.js b/tests/wpt/web-platform-tests/html/browsers/windows/document-domain-nested-navigate.window.js
index b639c819267..f51eed5ca94 100644
--- a/tests/wpt/web-platform-tests/html/browsers/windows/document-domain-nested-navigate.window.js
+++ b/tests/wpt/web-platform-tests/html/browsers/windows/document-domain-nested-navigate.window.js
@@ -6,7 +6,7 @@ async_test(t => {
document.domain = document.domain;
frame.src = "/common/blank.html";
frame.onload = t.step_func(() => {
- assert_throws("SecurityError", () => window[0].document);
+ assert_throws_dom("SecurityError", () => window[0].document);
frame.src = "about:blank";
frame.onload = t.step_func_done(() => {
// Ensure we can access the child browsing context after navigation to non-initial about:blank
diff --git a/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html
index 2f5b1c466f8..7ea11820811 100644
--- a/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html
+++ b/tests/wpt/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html
@@ -41,7 +41,7 @@
var t2 = async_test("The SecurityError must be thrown if the window accesses to frameElement attribute of a Window which does not have the same effective script origin");
window.addEventListener("load", t2.step_func_done(function() {
- assert_throws("SecurityError", function() {
+ assert_throws_dom("SecurityError", function() {
frames["iframe_2"].frameElement;
},
"The SecurityError exception should be thrown.");
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-blank.html b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-blank.html
index b94cb57b95f..5c51df71ae5 100644
--- a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-blank.html
+++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-blank.html
@@ -27,7 +27,6 @@ promise_test(async t => {
iframe_B.src = "about:blank";
iframe_C.src = "/common/blank.html";
let iframe_B_loaded = new Promise(resolve => iframe_B.onload = resolve);
- let iframe_C_loaded = new Promise(resolve => iframe_C.onload = resolve);
document.body.appendChild(iframe_B);
// The about:blank frame must be able to load.
@@ -35,13 +34,16 @@ promise_test(async t => {
assert_not_equals(iframe_B.contentDocument, null);
iframe_B.contentDocument.body.appendChild(iframe_C);
- // The document nested under about:blank must not load because it does not
- // specify the Cross-Origin-Embedder-Policy: require-corp header.
- // An error page must be displayed instead.
- await iframe_C_loaded;
- assert_equals(iframe_C.contentDocument, null);
-
- t.done();
+ t.step_timeout(() => {
+ // The document nested under about:blank must not load because it does not
+ // specify the Cross-Origin-Embedder-Policy: require-corp header.
+ // An error page must be displayed instead.
+ // See https://github.com/whatwg/html/issues/125 for why a timeout is used
+ // here. Long term all network error handling should be similar and have a
+ // reliable event.
+ assert_equals(iframe_C.contentDocument, null);
+ t.done();
+ }, 500);
}, "A(B(C)) A=require-corp, B=about:blank, C=no-require-corp => C can't load");
</script>
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-srcdoc.html b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-srcdoc.html
index a832db1cebb..4d1c1f86464 100644
--- a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-srcdoc.html
+++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/require-corp-about-srcdoc.html
@@ -28,7 +28,6 @@ promise_test(async t => {
iframe_B.srcdoc = "dummy content";
iframe_C.src = "/common/blank.html";
let iframe_B_loaded = new Promise(resolve => iframe_B.onload = resolve);
- let iframe_C_loaded = new Promise(resolve => iframe_C.onload = resolve);
document.body.appendChild(iframe_B);
// The about:srcdoc frame must be able to load.
@@ -37,13 +36,17 @@ promise_test(async t => {
assert_equals(iframe_B.contentDocument.body.innerText, "dummy content");
iframe_B.contentDocument.body.appendChild(iframe_C);
- // The document nested under about:srcdoc must not load because it does not
- // specify the Cross-Origin-Embedder-Policy: require-corp header.
- // An error page must be displayed instead.
- await iframe_C_loaded;
- assert_equals(iframe_C.contentDocument, null);
- t.done();
+ t.step_timeout(() => {
+ // The document nested under about:srcdoc must not load because it does not
+ // specify the Cross-Origin-Embedder-Policy: require-corp header.
+ // An error page must be displayed instead.
+ // See https://github.com/whatwg/html/issues/125 for why a timeout is used
+ // here. Long term all network error handling should be similar and have a
+ // reliable event.
+ assert_equals(iframe_C.contentDocument, null);
+ t.done();
+ }, 500);
}, "A(B(C)) A=require-corp, B=about:srcdoc, C=no-require-corp => C can't load");
</script>
diff --git a/tests/wpt/web-platform-tests/html/dom/documents/dom-tree-accessors/Document.body.html b/tests/wpt/web-platform-tests/html/dom/documents/dom-tree-accessors/Document.body.html
index f4212502956..77de1d93b5e 100644
--- a/tests/wpt/web-platform-tests/html/dom/documents/dom-tree-accessors/Document.body.html
+++ b/tests/wpt/web-platform-tests/html/dom/documents/dom-tree-accessors/Document.body.html
@@ -128,20 +128,20 @@ test(function() {
var originalBody = document.body;
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
document.body = "text"
})
assert_equals(document.body, originalBody);
}, "Setting document.body to a string.")
test(function() {
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
document.body = document.createElement("div")
})
assert_equals(document.body, originalBody);
}, "Setting document.body to a div element.")
test(function() {
var doc = createDocument();
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
doc.body = doc.createElement("body")
})
assert_equals(doc.body, null);
diff --git a/tests/wpt/web-platform-tests/html/dom/elements/global-attributes/dataset-set.html b/tests/wpt/web-platform-tests/html/dom/elements/global-attributes/dataset-set.html
index dbce5de309a..a5bc177f504 100644
--- a/tests/wpt/web-platform-tests/html/dom/elements/global-attributes/dataset-set.html
+++ b/tests/wpt/web-platform-tests/html/dom/elements/global-attributes/dataset-set.html
@@ -30,11 +30,11 @@
"Setting element.dataset[''] should also change the value of element.getAttribute('data-')");
test(function() { assert_true(testSet('\xE0', 'data-\xE0')); },
"Setting element.dataset['\xE0'] should also change the value of element.getAttribute('data-\xE0')");
- test(function() { assert_throws('SYNTAX_ERR', function() { testSet('-foo', 'dummy') }); },
+ test(function() { assert_throws_dom('SYNTAX_ERR', function() { testSet('-foo', 'dummy') }); },
"Setting element.dataset['-foo'] should throw a SYNTAX_ERR");
- test(function() { assert_throws('INVALID_CHARACTER_ERR', function() { testSet('foo\x20', 'dummy') }); },
+ test(function() { assert_throws_dom('INVALID_CHARACTER_ERR', function() { testSet('foo\x20', 'dummy') }); },
"Setting element.dataset['foo\x20'] should throw an INVALID_CHARACTER_ERR");
- test(function() { assert_throws('INVALID_CHARACTER_ERR', function() { testSet('\u037Efoo', 'dummy') }); },
+ test(function() { assert_throws_dom('INVALID_CHARACTER_ERR', function() { testSet('\u037Efoo', 'dummy') }); },
"Setting element.dataset['\u037Efoo'] should throw an INVALID_CHARACTER_ERR");
test(function() { assert_true(testSet('\u0BC6foo', 'data-\u0BC6foo')); },
"Setting element.dataset['\u0BC6foo'] should also change the value of element.getAttribute('\u0BC6foo')");
diff --git a/tests/wpt/web-platform-tests/html/editing/dnd/datastore/datatransfer-types.html b/tests/wpt/web-platform-tests/html/editing/dnd/datastore/datatransfer-types.html
index d0842ae75c4..3da94d78c64 100644
--- a/tests/wpt/web-platform-tests/html/editing/dnd/datastore/datatransfer-types.html
+++ b/tests/wpt/web-platform-tests/html/editing/dnd/datastore/datatransfer-types.html
@@ -56,7 +56,7 @@ test(() => {
// Failing to add a new item via DataTransferItemList does not
// change the underlying data store.
old_types = dt.types;
- assert_throws("NotSupportedError", () => {
+ assert_throws_dom("NotSupportedError", () => {
dt.items.add("bar", "text/plain");
}, "Adding an item whose type is already present throws an exception");
assert_equals(dt.items.length, 1);
diff --git a/tests/wpt/web-platform-tests/html/editing/dnd/synthetic/001.html b/tests/wpt/web-platform-tests/html/editing/dnd/synthetic/001.html
index ddad72095b2..f90c345740d 100644
--- a/tests/wpt/web-platform-tests/html/editing/dnd/synthetic/001.html
+++ b/tests/wpt/web-platform-tests/html/editing/dnd/synthetic/001.html
@@ -12,7 +12,7 @@ test(function() {
assert_own_property(window,'DragEvent');
}, 'window.DragEvent should be exposed' );
test(function() {
- assert_throws('NOT_SUPPORTED_ERR', function() {
+ assert_throws_dom('NOT_SUPPORTED_ERR', function() {
var evt = document.createEvent('DragEvent');
});
}, 'createEvent should not be able to create a DragEvent' );
@@ -52,7 +52,7 @@ test(function() {
assert_true(ranlistener);
}, 'DragEvent constructor with undefined as the dataTransfer parameter should be able to fire the event' );
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
var evt = new DragEvent('dragstart', {dataTransfer:{}});
});
}, 'DragEvent constructor with custom object as the dataTransfer parameter should throw TypeError' );
diff --git a/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/001-manual.html b/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/001-manual.html
index 4622c76a92f..ff8572e937b 100644
--- a/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/001-manual.html
+++ b/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/001-manual.html
@@ -15,10 +15,10 @@ window.onload = function () {
assert_true( !!e.dataTransfer.allowTargetOrigin );
}, 'allowTargetOrigin should be supported' );
test(function() {
- assert_throws( new TypeError(), function () { e.dataTransfer.allowTargetOrigin(); } );
+ assert_throws_js( TypeError, function () { e.dataTransfer.allowTargetOrigin(); } );
}, 'no parameter should throw TypeError' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin(''); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin(''); } );
}, 'empty string should be an invalid URL' );
test(function() {
e.dataTransfer.allowTargetOrigin('*');
@@ -27,58 +27,58 @@ window.onload = function () {
e.dataTransfer.allowTargetOrigin('/');
}, '/ should be a valid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('/foo'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('/foo'); } );
}, '/foo should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('foo'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('foo'); } );
}, 'foo should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('//foo'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('//foo'); } );
}, '//foo should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://'); } );
}, 'http:// should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://*'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://*'); } );
}, 'http://* should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo*'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo*'); } );
}, 'http://foo* should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo.*'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo.*'); } );
}, 'http://foo.* should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://*.foo'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://*.foo'); } );
}, 'http://*.foo should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo:bar'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo:bar'); } );
}, 'http://foo:bar should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo:bar@'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo:bar@'); } );
}, 'http://foo:bar@ should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file:'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file:'); } );
}, 'file: should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file://'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file://'); } );
}, 'file:// should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:'); } );
}, 'data: should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:text/html'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:text/html'); } );
}, 'data:text/html should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file://localhost/'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file://localhost/'); } );
}, 'file://localhost/ should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file:///'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file:///'); } );
}, 'file:/// should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:text/html,'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:text/html,'); } );
}, 'data:text/html, should be an invalid URL' );
test(function() {
- assert_throws( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('javascript:'); } );
+ assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('javascript:'); } );
}, 'javascript: should be an invalid URL' );
test(function() {
e.dataTransfer.allowTargetOrigin('http://foo');
diff --git a/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/002-manual.html b/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/002-manual.html
index d1615090660..d7e6c83a2ad 100644
--- a/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/002-manual.html
+++ b/tests/wpt/web-platform-tests/html/editing/dnd/target-origin/002-manual.html
@@ -39,7 +39,7 @@ window.onload = function () {
assert_true( !!e.dataTransfer.allowTargetOrigin );
}, 'allowTargetOrigin should exist in '+e.type );
test(function() {
- assert_throws( 'SECURITY_ERR', function () { e.dataTransfer.allowTargetOrigin('*'); } );
+ assert_throws_dom( 'SECURITY_ERR', function () { e.dataTransfer.allowTargetOrigin('*'); } );
}, 'allowTargetOrigin should throw a SECURITY_ERR in '+e.type );
};
fuchsia.ondragenter = fuchsia.ondragover = fuchsia.ondrop = function (e) {
@@ -50,7 +50,7 @@ window.onload = function () {
assert_true( !!e.dataTransfer.allowTargetOrigin );
}, 'allowTargetOrigin should exist in '+e.type );
test(function() {
- assert_throws( 'SECURITY_ERR', function () { e.dataTransfer.allowTargetOrigin('*'); } );
+ assert_throws_dom( 'SECURITY_ERR', function () { e.dataTransfer.allowTargetOrigin('*'); } );
}, 'allowTargetOrigin should throw a SECURITY_ERR in '+e.type );
};
orange.ondragend = function (e) {
@@ -60,7 +60,7 @@ window.onload = function () {
assert_true( !!e.dataTransfer.allowTargetOrigin );
}, 'allowTargetOrigin should exist in '+e.type );
test(function() {
- assert_throws( 'SECURITY_ERR', function () { e.dataTransfer.allowTargetOrigin('*'); } );
+ assert_throws_dom( 'SECURITY_ERR', function () { e.dataTransfer.allowTargetOrigin('*'); } );
}, 'allowTargetOrigin should throw a SECURITY_ERR in '+e.type );
test(function() {
var failtxt = '- Reload and try again';
diff --git a/tests/wpt/web-platform-tests/html/editing/editing-0/contenteditable/contentEditable-invalidvalue.html b/tests/wpt/web-platform-tests/html/editing/editing-0/contenteditable/contentEditable-invalidvalue.html
index 85b71043e16..b8c17c3a416 100644
--- a/tests/wpt/web-platform-tests/html/editing/editing-0/contenteditable/contentEditable-invalidvalue.html
+++ b/tests/wpt/web-platform-tests/html/editing/editing-0/contenteditable/contentEditable-invalidvalue.html
@@ -9,7 +9,7 @@
<script>
var el = document.createElement("div");
test(function(){
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
el.contentEditable = "foobar";
});
}, "setting contentEditable to an invalid value throws a SyntaxError Exception");
diff --git a/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-svg.svg b/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-svg.svg
index 6fb8a054481..fd2fde0fbe1 100644
--- a/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-svg.svg
+++ b/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-svg.svg
@@ -14,20 +14,20 @@
<script type="text/javascript"><![CDATA[
test(function() {
assert_equals(document.designMode, "off", "check for designMode value");
- assert_throws("InvalidStateError", function() { document.queryCommandSupported("delete") });
- assert_throws("InvalidStateError", function() { document.queryCommandEnabled("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandSupported("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandEnabled("delete") });
}, "initial designMode attribute");
document.designMode="on";
test(function() {
assert_equals(document.designMode, "on", "check for designMode value");
- assert_throws("InvalidStateError", function() { document.queryCommandSupported("delete") });
- assert_throws("InvalidStateError", function() { document.queryCommandEnabled("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandSupported("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandEnabled("delete") });
}, "set designMode = \"on\"");
document.designMode="off";
test(function() {
assert_equals(document.designMode,"off", "check for designMode value");
- assert_throws("InvalidStateError", function() { document.queryCommandSupported("delete") });
- assert_throws("InvalidStateError", function() { document.queryCommandEnabled("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandSupported("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandEnabled("delete") });
}, "set designMode = \"off\"");
]]></script>
</body>
diff --git a/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-xml.xml b/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-xml.xml
index ea02ecdfd39..f26cd56453b 100644
--- a/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-xml.xml
+++ b/tests/wpt/web-platform-tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-xml.xml
@@ -12,20 +12,20 @@
<script type="text/javascript"><![CDATA[
test(function() {
assert_equals(document.designMode, "off", "check for designMode value");
- assert_throws("InvalidStateError", function() { document.queryCommandSupported("delete") });
- assert_throws("InvalidStateError", function() { document.queryCommandEnabled("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandSupported("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandEnabled("delete") });
}, "initial designMode attribute");
document.designMode="on";
test(function() {
assert_equals(document.designMode, "on", "check for designMode value");
- assert_throws("InvalidStateError", function() { document.queryCommandSupported("delete") });
- assert_throws("InvalidStateError", function() { document.queryCommandEnabled("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandSupported("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandEnabled("delete") });
}, "set designMode = \"on\"");
document.designMode="off";
test(function() {
assert_equals(document.designMode,"off", "check for designMode value");
- assert_throws("InvalidStateError", function() { document.queryCommandSupported("delete") });
- assert_throws("InvalidStateError", function() { document.queryCommandEnabled("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandSupported("delete") });
+ assert_throws_dom("InvalidStateError", function() { document.queryCommandEnabled("delete") });
}, "set designMode = \"off\"");
]]></script>
</body>
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/domstringlist.html b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/domstringlist.html
index ab5a5c025a3..33f2ed6feff 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/domstringlist.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/domstringlist.html
@@ -36,7 +36,7 @@ dsl_test(['a', 'b', 'c'], (t, dsl) => {
assert_equals(dsl.item(2), 'c', 'item method');
assert_equals(dsl.item(3), null, 'item method out of range');
assert_equals(dsl.item(-1), null, 'item method out of range');
- assert_throws(TypeError(), () => dsl.item(),
+ assert_throws_js(TypeError, () => dsl.item(),
'item method should throw if called without enough args');
}, 'DOMStringList: item() method');
@@ -54,7 +54,7 @@ dsl_test(['a', 'b', 'c'], (t, dsl) => {
assert_true(dsl.contains('c'), 'contains method matched');
assert_false(dsl.contains(''), 'contains method unmatched');
assert_false(dsl.contains('d'), 'contains method unmatched');
- assert_throws(TypeError(), () => dsl.contains(),
+ assert_throws_js(TypeError, () => dsl.contains(),
'contains method should throw if called without enough args');
}, 'DOMStringList: contains() method');
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/historical.html b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/historical.html
index ef8345aa724..91142c864e9 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/historical.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/historical.html
@@ -11,7 +11,7 @@
test(function() {
var collection = document.getElementById('form').elements;
assert_equals(typeof collection, 'object', 'typeof');
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
collection('foo');
});
}, 'HTMLFormControlsCollection legacycaller should not be supported');
@@ -19,7 +19,7 @@ test(function() {
test(function() {
var collection = document.getElementById('select').options;
assert_equals(typeof collection, 'object', 'typeof');
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
collection('bar');
});
}, 'HTMLOptionsCollection legacycaller should not be supported');
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html
index 095931ad785..14faa2128ed 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html
@@ -225,12 +225,12 @@ test(function() {
}, "legacy caller with no argument");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new document.all("picture");
}, "New should not work on document.all()");
// https://esdiscuss.org/topic/isconstructor#content-11
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new (new Proxy(document.all, {
construct: function() {
return {};
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html
index aa9f0a5d5e0..5591e190b39 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html
@@ -54,7 +54,7 @@ test(function () {
//getter - name
test(function () {
- assert_throws(TypeError(), function() { coll1("r1") });
+ assert_throws_js(TypeError, function() { coll1("r1") });
}, "HTMLFormControlsCollection is not callable");
test(function () {
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmloptionscollection.html b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmloptionscollection.html
index d39cc460e5b..130716a9cc7 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmloptionscollection.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/common-dom-interfaces/collections/htmloptionscollection.html
@@ -209,7 +209,7 @@ test(function() {
test(function() {
var add = document.createElement("p");
- assert_throws(new TypeError(), function() {b_opts.add(add);});
+ assert_throws_js(TypeError, function() {b_opts.add(add);});
}, "Add non-option to collection");
</script>
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-coop-coep.https.any.js b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-coop-coep.https.any.js
index a755865911d..35098892020 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-coop-coep.https.any.js
+++ b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-coop-coep.https.any.js
@@ -1,19 +1,19 @@
test(() => {
const sab = new SharedArrayBuffer();
const channel = new MessageChannel();
- assert_throws("DataCloneError", () => channel.port1.postMessage(sab));
+ assert_throws_dom("DataCloneError", () => channel.port1.postMessage(sab));
}, "SharedArrayBuffer over MessageChannel without COOP+COEP");
test(() => {
const sab = new SharedArrayBuffer();
const channel = new BroadcastChannel("Is mir egal");
- assert_throws("DataCloneError", () => channel.postMessage(sab));
+ assert_throws_dom("DataCloneError", () => channel.postMessage(sab));
}, "SharedArrayBuffer over BroadcastChannel without COOP+COEP");
if (self.GLOBAL.isWindow()) {
test(() => {
const sab = new SharedArrayBuffer();
- assert_throws("DataCloneError", () => self.postMessage(sab));
+ assert_throws_dom("DataCloneError", () => self.postMessage(sab));
}, "SharedArrayBuffer over postMessage() without COOP+COEP");
}
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.https.html b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.https.html
index b39e37fd496..dfa57fa2009 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.https.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-transferring.https.html
@@ -11,21 +11,21 @@
test(() => {
const sab = new SharedArrayBuffer();
- assert_throws("DataCloneError", () => window.postMessage(sab, "*", [sab]));
- assert_throws("DataCloneError", () => window.postMessage("test", "*", [sab]));
+ assert_throws_dom("DataCloneError", () => window.postMessage(sab, "*", [sab]));
+ assert_throws_dom("DataCloneError", () => window.postMessage("test", "*", [sab]));
}, "Trying to transfer a SharedArrayBuffer to this window throws");
test(() => {
const sab = new SharedArrayBuffer();
const worker = new Worker("../resources/echo-worker.js");
- assert_throws("DataCloneError", () => worker.postMessage(sab, [sab]));
- assert_throws("DataCloneError", () => worker.postMessage("test", [sab]));
+ assert_throws_dom("DataCloneError", () => worker.postMessage(sab, [sab]));
+ assert_throws_dom("DataCloneError", () => worker.postMessage("test", [sab]));
}, "Trying to transfer a SharedArrayBuffer to a worker throws");
test(() => {
const sab = new SharedArrayBuffer();
const channel = new MessageChannel();
- assert_throws("DataCloneError", () => channel.port1.postMessage(sab, [sab]));
- assert_throws("DataCloneError", () => channel.port1.postMessage("test", [sab]));
+ assert_throws_dom("DataCloneError", () => channel.port1.postMessage(sab, [sab]));
+ assert_throws_dom("DataCloneError", () => channel.port1.postMessage("test", [sab]));
}, "Trying to transfer a SharedArrayBuffer through a MessagePort throws");
</script>
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-history.https.html b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-history.https.html
index 49d341f47f9..28859f17cb9 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-history.https.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-history.https.html
@@ -13,7 +13,7 @@
for (const method of ["pushState", "replaceState"]) {
test(() => {
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
history[method](new SharedArrayBuffer(), "dummy title");
});
}, `history.${method}(): simple case`);
@@ -21,7 +21,7 @@ for (const method of ["pushState", "replaceState"]) {
test(() => {
let getter1Called = false;
let getter2Called = false;
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
history[method]([
{ get x() { getter1Called = true; return 5; } },
new SharedArrayBuffer(),
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-idb.any.js b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-idb.any.js
index 4eb25eb8546..0202ec39ac6 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-idb.any.js
+++ b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-idb.any.js
@@ -8,7 +8,7 @@ async_test(t => {
const db = e.target.result;
const store = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
store.put({ key: 1, property: new SharedArrayBuffer() });
});
t.done();
@@ -25,7 +25,7 @@ async_test(t => {
let getter1Called = false;
let getter2Called = false;
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
store.put({ key: 1, property: [
{ get x() { getter1Called = true; return 5; } },
new SharedArrayBuffer(),
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-notifications-api.any.js b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-notifications-api.any.js
index 2c3fb7be034..ce643e8a7cb 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-notifications-api.any.js
+++ b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/serialization-via-notifications-api.any.js
@@ -1,7 +1,7 @@
"use strict";
test(() => {
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
new Notification("Bob: Hi", { data: new SharedArrayBuffer() });
})
}, "SharedArrayBuffer cloning via the Notifications API's data member: basic case");
@@ -10,7 +10,7 @@ test(() => {
let getter1Called = false;
let getter2Called = false;
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
new Notification("Bob: Hi", { data: [
{ get x() { getter1Called = true; return 5; } },
new SharedArrayBuffer(),
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/structuredclone_0.html b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/structuredclone_0.html
index fbb48db0383..c8a6d38393c 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/structuredclone_0.html
+++ b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/structuredclone_0.html
@@ -354,7 +354,7 @@
t.step(function() {
assert_true(DOMException.hasOwnProperty('DATA_CLONE_ERR'), "DOMException.DATA_CLONE_ERR is present");
assert_equals(DOMException.DATA_CLONE_ERR, 25, "DOMException.DATA_CLONE_ERR === 25");
- assert_throws('DATA_CLONE_ERR', function() {worker.postMessage(window)});
+ assert_throws_dom('DATA_CLONE_ERR', function() {worker.postMessage(window)});
});
t.done();
},
@@ -365,7 +365,7 @@
t.step(function() {
assert_true(DOMException.hasOwnProperty('DATA_CLONE_ERR'), "DOMException.DATA_CLONE_ERR is present");
assert_equals(DOMException.DATA_CLONE_ERR, 25, "DOMException.DATA_CLONE_ERR === 25");
- assert_throws('DATA_CLONE_ERR', function() {worker.postMessage(document)});
+ assert_throws_dom('DATA_CLONE_ERR', function() {worker.postMessage(document)});
});
t.done();
},
diff --git a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js
index bb1c083c41d..b3ecd86b40a 100644
--- a/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js
+++ b/tests/wpt/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js
@@ -1,5 +1,5 @@
function assert_transfer_error(transferList) {
- assert_throws("DataCloneError", () => self.postMessage({ get whatever() { throw new Error("You should not have gotten to this point") } }, "*", transferList));
+ assert_throws_dom("DataCloneError", () => self.postMessage({ get whatever() { throw new Error("You should not have gotten to this point") } }, "*", transferList));
}
test(() => {
@@ -17,14 +17,14 @@ function transfer_tests(name, create) {
promise_test(async () => {
const transferable = await create();
self.postMessage(null, "*", [transferable]);
- assert_throws("DataCloneError", () => self.postMessage(null, "*", [transferable]));
+ assert_throws_dom("DataCloneError", () => self.postMessage(null, "*", [transferable]));
}, `Serialize should make the ${name} detached, so it cannot be transferred again`);
promise_test(async () => {
const transferable = await create(),
customError = new Error("hi");
self.postMessage(null, "*", [transferable]);
- assert_throws(customError, () => self.postMessage({ get whatever() { throw customError } }, "*", [transferable]));
+ assert_throws_exactly(customError, () => self.postMessage({ get whatever() { throw customError } }, "*", [transferable]));
}, `Serialize should throw before a detached ${name} is found`);
promise_test(async () => {
@@ -36,7 +36,7 @@ function transfer_tests(name, create) {
seen = true;
}
};
- assert_throws("DataCloneError", () => self.postMessage(message, "*", [transferable]));
+ assert_throws_dom("DataCloneError", () => self.postMessage(message, "*", [transferable]));
assert_true(seen);
}, `Cannot transfer ${name} detached while the message was serialized`);
}
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/historical.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/historical.html
index efdd90f7b15..d98a74df4e1 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/historical.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/historical.html
@@ -39,7 +39,7 @@ t('mozSrcObject'); // never in the spec
// TextTrackCue constructor: added in r5723, removed in r7742.
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new TextTrackCue(0, 0, '');
});
}, 'TextTrackCue constructor should not be supported');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html
index 2a76b0a66ba..0e1a48f78a9 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html
@@ -6,19 +6,19 @@
<script>
var video = document.createElement('video');
test(function(){
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
video.addTextTrack('foo');
});
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
video.addTextTrack(undefined);
});
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
video.addTextTrack(null);
});
}, document.title + ' bogus first arg');
test(function(){
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
video.addTextTrack('SUBTITLES');
});
}, document.title + ' uppercase first arg');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html
index a05c0b17442..09043458cc5 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html
@@ -12,18 +12,18 @@ test(function() {
var t1 = video.addTextTrack('subtitles');
var t2 = video.addTextTrack('subtitles');
var c1 = new VTTCue(0, 1, 'text1');
- assert_throws("NOT_FOUND_ERR", function() {
+ assert_throws_dom("NOT_FOUND_ERR", function() {
t1.removeCue(c1);
}, 'standalone');
t1.addCue(c1);
- assert_throws("NOT_FOUND_ERR", function() {
+ assert_throws_dom("NOT_FOUND_ERR", function() {
t2.removeCue(c1);
}, 'listed in t1, remove from t2');
t1.removeCue(c1);
- assert_throws("NOT_FOUND_ERR", function() {
+ assert_throws_dom("NOT_FOUND_ERR", function() {
t1.removeCue(c1);
}, 'standalone, remove from t1');
- assert_throws("NOT_FOUND_ERR", function() {
+ assert_throws_dom("NOT_FOUND_ERR", function() {
t2.removeCue(c1);
}, 'standalone, remove from t2');
}, document.title+', two elementless tracks');
@@ -33,10 +33,10 @@ t.step(function(){
var track = document.createElement('track');
track.onload = t.step_func(function(){
var cue = track.track.cues[0];
- assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'listed in track.track, remove from t1');
+ assert_throws_dom('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'listed in track.track, remove from t1');
track.track.removeCue(cue);
- assert_throws('NOT_FOUND_ERR', function() { track.track.removeCue(cue); }, 'standalone, remove from track.track');
- assert_throws('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'standalone, remove from t1');
+ assert_throws_dom('NOT_FOUND_ERR', function() { track.track.removeCue(cue); }, 'standalone, remove from track.track');
+ assert_throws_dom('NOT_FOUND_ERR', function() { t1.removeCue(cue); }, 'standalone, remove from t1');
t.done();
});
track.onerror = t.step_func(function() {
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html
index c066f60399b..8ee9adb1c0d 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html
@@ -13,7 +13,7 @@
}, "TextTrackCue and VTTCue are separate interfaces");
test(function()
{
- assert_throws(new TypeError(), function()
+ assert_throws_js(TypeError, function()
{
new TextTrackCue(0, 0, "");
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime.html
index b99a12e05aa..a7c10a3d4df 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime.html
@@ -14,9 +14,9 @@ test(function(){
assert_equals(c1.endTime, -1);
c1.endTime = c1.endTime;
assert_equals(c1.endTime, -1);
- assert_throws(new TypeError(), function(){ c1.endTime = NaN; });
- assert_throws(new TypeError(), function(){ c1.endTime = +Infinity; });
- assert_throws(new TypeError(), function(){ c1.endTime = -Infinity; });
+ assert_throws_js(TypeError, function(){ c1.endTime = NaN; });
+ assert_throws_js(TypeError, function(){ c1.endTime = +Infinity; });
+ assert_throws_js(TypeError, function(){ c1.endTime = -Infinity; });
}, document.title+', script-created cue');
var t_parsed = async_test(document.title+', parsed cue');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime.html
index 232a7f23b3e..7fba1df415a 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime.html
@@ -14,9 +14,9 @@ test(function(){
assert_equals(c1.startTime, -1);
c1.startTime = c1.startTime;
assert_equals(c1.startTime, -1);
- assert_throws(new TypeError(), function(){ c1.startTime = NaN; });
- assert_throws(new TypeError(), function(){ c1.startTime = +Infinity; });
- assert_throws(new TypeError(), function(){ c1.startTime = -Infinity; });
+ assert_throws_js(TypeError, function(){ c1.startTime = NaN; });
+ assert_throws_js(TypeError, function(){ c1.startTime = +Infinity; });
+ assert_throws_js(TypeError, function(){ c1.startTime = -Infinity; });
}, document.title+', script-created cue');
var t_parsed = async_test(document.title+', parsed cue');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter.html
index d9cd871720e..8056d245433 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter.html
@@ -36,12 +36,12 @@ test(function(){
'use strict';
var cues = t1.cues;
assert_equals(cues[0], undefined);
- assert_throws(new TypeError(), function() { cues[0] = 'foo'; });
+ assert_throws_js(TypeError, function() { cues[0] = 'foo'; });
assert_equals(cues[0], undefined);
var c1 = new VTTCue(0, 1, 'text1');
t1.addCue(c1);
assert_equals(cues[0], c1);
- assert_throws(new TypeError(), function() { cues[0] = 'foo'; });
+ assert_throws_js(TypeError, function() { cues[0] = 'foo'; });
assert_equals(cues[0], c1);
t1.removeCue(c1);
}, document.title+', no indexed set/create (strict)');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/getter.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/getter.html
index 8c5fb375940..9baa4594194 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/getter.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/getter.html
@@ -25,7 +25,7 @@ test(function(){
test(function(){
'use strict';
var track_before = video.textTracks[0];
- assert_throws(new TypeError(), function(){ video.textTracks[0] = 'foo'; });
+ assert_throws_js(TypeError, function(){ video.textTracks[0] = 'foo'; });
assert_equals(video.textTracks[0], track_before);
}, document.title+', no indexed set/create (strict)');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/createEvent.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/createEvent.html
index 9bf763f1fab..1d7eb540c3c 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/createEvent.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/createEvent.html
@@ -6,7 +6,7 @@
<script>
test(function(){
// https://www.w3.org/Bugs/Public/show_bug.cgi?id=17268
- assert_throws('NOT_SUPPORTED_ERR', function() {
+ assert_throws_dom('NOT_SUPPORTED_ERR', function() {
var ev = document.createEvent('TrackEvent');
});
var ev = new TrackEvent('foo');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html
index 773fa4e8fd5..e7389640012 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html
@@ -32,7 +32,7 @@ async_test(function(t) {
assert_equals(textCue.align, "center");
// Remove the unadded track, make sure it throws correctly.
- assert_throws("NotFoundError", function() { trackElement.track.removeCue(textCue); });
+ assert_throws_dom("NotFoundError", function() { trackElement.track.removeCue(textCue); });
// Add the new cue to a track, make sure it is inserted correctly.
trackElement.track.addCue(textCue);
@@ -73,7 +73,7 @@ async_test(function(t) {
assert_equals(cues[2].startTime, 121);
// Try to remove the cue again.
- assert_throws("NotFoundError", function() { trackElement.track.removeCue(textCue); });
+ assert_throws_dom("NotFoundError", function() { trackElement.track.removeCue(textCue); });
// Add a cue before all the existing cues.
trackElement.track.addCue(new VTTCue(0, 31, "I am first"));
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html
index 4503a06bb2c..d058bf29878 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html
@@ -13,7 +13,7 @@ test(function() {
var video = document.createElement("video");
assert_equals(video.textTracks.length, 0);
- assert_throws(new TypeError(), function() { video.addTextTrack("kaptions"); });
+ assert_throws_js(TypeError, function() { video.addTextTrack("kaptions"); });
assert_equals(video.textTracks.length, 0);
addTrack("subtitles");
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html
index cb28f6591ce..26a6b84f8a2 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html
@@ -70,8 +70,8 @@
// On setting, if the new value is negative or greater than 100,
// then throw an IndexSizeError exception.
// Otherwise, set the text track cue text position to the new value.
- assert_throws("IndexSizeError", function() { textCue.position = -200; });
- assert_throws("IndexSizeError", function() { textCue.position = 110; });
+ assert_throws_dom("IndexSizeError", function() { textCue.position = -200; });
+ assert_throws_dom("IndexSizeError", function() { textCue.position = 110; });
textCue.position = 11;
assert_equals(textCue.position, 11);
@@ -79,8 +79,8 @@
// On setting, if the new value is negative or greater than 100,
// then throw an IndexSizeError exception.
// Otherwise, set the text track cue size to the new value.
- assert_throws("IndexSizeError", function() { textCue.size = -200 });
- assert_throws("IndexSizeError", function() { textCue.size = 110 });
+ assert_throws_dom("IndexSizeError", function() { textCue.size = -200 });
+ assert_throws_dom("IndexSizeError", function() { textCue.size = 110 });
textCue.size = 57;
assert_equals(textCue.size, 57);
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html
index 6e90a2ebcdb..fce50c2e20e 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html
@@ -9,7 +9,7 @@
[NaN, Infinity, -Infinity].forEach(function(aValue) {
test(function() {
var el = document.createElement(aElement);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
el.volume = aValue;
});
}, "Setting " + aElement + ".volume to " + String(aValue) + " should throw a TypeError");
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html
index 57f91572bc5..c5b5b80ac13 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html
@@ -39,17 +39,17 @@ test(function() {
}, "Prototype of object created with named constructor");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
Audio();
});
}, "Calling Audio should throw");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
HTMLAudioElement();
});
}, "Calling HTMLAudioElement should throw");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new HTMLAudioElement();
});
}, "Constructing HTMLAudioElement should throw");
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html
index f1ef93b93ac..fcda9043fc7 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html
@@ -19,7 +19,7 @@
var t = async_test("");
_addTest(function(canvas, ctx) {
-assert_throws(new TypeError(), function() { canvas.getContext(); });
+assert_throws_js(TypeError, function() { canvas.getContext(); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html
index e485e10d991..33044ffb1bd 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html
@@ -34,10 +34,10 @@ t("transferControlToProxy", canvas);
t("CanvasProxy", window);
t("commit", canvas);
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new CanvasRenderingContext2D();
}, 'no arguments');
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new CanvasRenderingContext2D(1, 1);
}, 'with arguments');
}, "CanvasRenderingContext2D constructors");
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html
index 61331956e49..e124f8ff6ea 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html
@@ -5,13 +5,13 @@
<script src="/resources/testharnessreport.js"></script>
<script>
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
new ImageData(0, 1);
});
}, "ImageData(w, h), width cannot be 0");
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
new ImageData(1, 0);
});
}, "ImageData(w, h), height cannot be 0");
@@ -25,25 +25,25 @@ test(function() {
}, "ImageData(w, h), exposed attributes check");
test(function() {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
new ImageData(new Uint8ClampedArray(3), 1);
});
}, "ImageData(buffer, w), the buffer size must be a multiple of 4");
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
new ImageData(new Uint8ClampedArray(16), 3);
});
}, "ImageData(buffer, w), buffer size must be a multiple of the image width");
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
new ImageData(new Uint8ClampedArray(16), 4, 3);
});
}, "ImageData(buffer, w, h), buffer.length == 4 * w * h must be true");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new ImageData(new Int8Array(1), 1);
});
}, "ImageData(buffer, w, opt h), Uint8ClampedArray argument type check");
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html
index 2b237544c19..66873a551f5 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html
@@ -25,8 +25,8 @@ canvas2.height = 50;
var ctx2 = canvas2.getContext('2d');
ctx2.drawImage(document.getElementById('yellow.png'), 0, 0);
ctx.drawImage(canvas2, 0, 0);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html
index 9daa23bcc20..7e640becc1f 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html
@@ -25,8 +25,8 @@ canvas2.height = 50;
var ctx2 = canvas2.getContext('2d');
ctx2.drawImage(document.getElementById('yellow.png'), 0, 0);
ctx.drawImage(canvas2, 0, 0);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html
index 4cccb91e8ea..f598bbe19d6 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html
@@ -20,8 +20,8 @@ var t = async_test("drawImage of different-origin image makes the canvas origin-
_addTest(function(canvas, ctx) {
ctx.drawImage(document.getElementById('yellow.png'), 0, 0);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html
index 349a52810e5..0b7ca3265c1 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html
@@ -20,8 +20,8 @@ var t = async_test("drawImage of different-origin image makes the canvas origin-
_addTest(function(canvas, ctx) {
ctx.drawImage(document.getElementById('yellow.png'), 0, 0);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html
index 70a154fe9c8..8261a29c541 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html
@@ -27,8 +27,8 @@ ctx2.drawImage(document.getElementById('yellow.png'), 0, 0);
var p = ctx.createPattern(canvas2, 'repeat');
ctx.fillStyle = p;
ctx.fillStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html
index 4d0be3f84ec..59cd0e0c03d 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html
@@ -27,8 +27,8 @@ ctx2.drawImage(document.getElementById('yellow.png'), 0, 0);
var p = ctx.createPattern(canvas2, 'repeat');
ctx.fillStyle = p;
ctx.fillStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html
index 8ec69ae1434..b987590fc93 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html
@@ -27,8 +27,8 @@ ctx2.drawImage(document.getElementById('yellow.png'), 0, 0);
var p = ctx.createPattern(canvas2, 'repeat');
ctx.strokeStyle = p;
ctx.strokeStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html
index bb814e12c8f..36237a2945c 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html
@@ -27,8 +27,8 @@ ctx2.drawImage(document.getElementById('yellow.png'), 0, 0);
var p = ctx.createPattern(canvas2, 'repeat');
ctx.strokeStyle = p;
ctx.strokeStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html
index 49d4d70beed..9461ad24a6a 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html
@@ -26,8 +26,8 @@ var ctx2 = canvas2.getContext('2d');
var p = ctx2.createPattern(document.getElementById('yellow.png'), 'repeat');
ctx.fillStyle = p;
ctx.fillRect(0, 0, 100, 50);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
canvas2.toDataURL();
ctx2.getImageData(0, 0, 1, 1);
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html
index 7d526ec3949..82838602b9e 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html
@@ -26,8 +26,8 @@ var ctx2 = canvas2.getContext('2d');
var p = ctx2.createPattern(document.getElementById('yellow.png'), 'repeat');
ctx.fillStyle = p;
ctx.fillRect(0, 0, 100, 50);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
canvas2.toDataURL();
ctx2.getImageData(0, 0, 1, 1);
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html
index 70c5f194ff6..3d50bac379c 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html
@@ -22,8 +22,8 @@ forEachCanvasSource(get_host_info().HTTP_REMOTE_ORIGIN,
const pattern = ctx.createPattern(source, 'repeat');
ctx.fillStyle = pattern;
ctx.fillStyle = 'red';
- assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
- assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+ assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+ assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
}, `${name}: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean`);
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html
index 28910edc431..f379d3ad76f 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html
@@ -22,8 +22,8 @@ _addTest(function(canvas, ctx) {
var p = ctx.createPattern(document.getElementById('yellow.png'), 'repeat');
ctx.fillStyle = p;
ctx.fillStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html
index 9ed99a7436a..a139f2a8cff 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html
@@ -22,8 +22,8 @@ _addTest(function(canvas, ctx) {
var p = ctx.createPattern(document.getElementById('yellow.png'), 'repeat');
ctx.fillStyle = p;
ctx.fillStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html
index 77749df2bda..25c3ee180c1 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html
@@ -22,8 +22,8 @@ _addTest(function(canvas, ctx) {
var p = ctx.createPattern(document.getElementById('yellow.png'), 'repeat');
ctx.strokeStyle = p;
ctx.strokeStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html
index c57a93038b6..fd359d1f9a4 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html
@@ -22,8 +22,8 @@ _addTest(function(canvas, ctx) {
var p = ctx.createPattern(document.getElementById('yellow.png'), 'repeat');
ctx.strokeStyle = p;
ctx.strokeStyle = 'red';
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
-assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); });
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.cross.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.cross.html
index babde24c169..64d25a3c3c1 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.cross.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.cross.html
@@ -21,7 +21,7 @@ _addTest(function(canvas, ctx) {
canvas.width = 50;
ctx.drawImage(document.getElementById('yellow.png'), 0, 0);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
canvas.width = 100;
canvas.toDataURL();
ctx.getImageData(0, 0, 1, 1);
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html
index b895f346211..9feeee4943f 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html
@@ -21,7 +21,7 @@ _addTest(function(canvas, ctx) {
canvas.width = 50;
ctx.drawImage(document.getElementById('yellow.png'), 0, 0);
-assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); });
+assert_throws_dom("SECURITY_ERR", function() { canvas.toDataURL(); });
canvas.width = 100;
canvas.toDataURL();
ctx.getImageData(0, 0, 1, 1);
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/historical.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/historical.html
index 168a8468e06..9df7280bb60 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/historical.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/historical.html
@@ -8,7 +8,7 @@
test(function() {
var elm = document.getElementById('embed');
assert_equals(typeof elm, 'object', 'typeof');
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
elm();
});
}, 'embed legacycaller should not be supported');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/historical.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/historical.html
index 2f293d372ec..c7a577a9d41 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/historical.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/historical.html
@@ -8,7 +8,7 @@
test(function() {
var elm = document.getElementById('object');
assert_equals(typeof elm, 'object', 'typeof');
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
elm();
});
}, 'object legacycaller should not be supported');
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js
index 145b5dd3727..830d536a663 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/FormDataEvent.window.js
@@ -2,15 +2,14 @@
test(() => {
let fd = new FormData();
- let typeError = new TypeError();
- assert_throws(typeError, () => { new FormDataEvent() }, '0 arguments');
- assert_throws(typeError, () => { new FormDataEvent('foo') }, '1 argument');
- assert_throws(typeError, () => { new FormDataEvent(fd, fd) }, '2 invalid arguments');
- assert_throws(typeError, () => { new FormDataEvent('foo', null) }, 'Null dictionary');
- assert_throws(typeError, () => { new FormDataEvent('foo', undefined) }, 'Undefined dictionary');
- assert_throws(typeError, () => { new FormDataEvent('foo', { formData: null }) }, 'Null formData');
- assert_throws(typeError, () => { new FormDataEvent('foo', { formData: undefined }) }, 'Undefined formData');
- assert_throws(typeError, () => { new FormDataEvent('foo', { formData: 'bar' }) }, 'Wrong type of formData');
+ assert_throws_js(TypeError, () => { new FormDataEvent() }, '0 arguments');
+ assert_throws_js(TypeError, () => { new FormDataEvent('foo') }, '1 argument');
+ assert_throws_js(TypeError, () => { new FormDataEvent(fd, fd) }, '2 invalid arguments');
+ assert_throws_js(TypeError, () => { new FormDataEvent('foo', null) }, 'Null dictionary');
+ assert_throws_js(TypeError, () => { new FormDataEvent('foo', undefined) }, 'Undefined dictionary');
+ assert_throws_js(TypeError, () => { new FormDataEvent('foo', { formData: null }) }, 'Null formData');
+ assert_throws_js(TypeError, () => { new FormDataEvent('foo', { formData: undefined }) }, 'Undefined formData');
+ assert_throws_js(TypeError, () => { new FormDataEvent('foo', { formData: 'bar' }) }, 'Wrong type of formData');
}, 'Failing FormDataEvent constructor');
test(() => {
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js
index ca722315d81..5f98fe05155 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/SubmitEvent.window.js
@@ -2,9 +2,8 @@
test(() => {
let button = document.createElement('button');
- let typeError = new TypeError();
- assert_throws(typeError, () => { new SubmitEvent() }, '0 arguments');
- assert_throws(typeError, () => { new SubmitEvent('foo', { submitter: 'bar' }) }, 'Wrong type of submitter');
+ assert_throws_js(TypeError, () => { new SubmitEvent() }, '0 arguments');
+ assert_throws_js(TypeError, () => { new SubmitEvent('foo', { submitter: 'bar' }) }, 'Wrong type of submitter');
}, 'Failing SubmitEvent constructor');
test(() => {
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html
index d205ee838a8..a7d7f1c5518 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html
@@ -32,31 +32,31 @@
}, `selectionDirection on an input[type=${type}] returns null`);
test(() => {
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
el.selectionStart = 0;
});
}, `assigning selectionStart on an input[type=${type}] throws InvalidStateError`);
test(() => {
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
el.selectionEnd = 0;
});
}, `assigning selectionEnd on an input[type=${type}] throws InvalidStateError`);
test(() => {
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
el.selectionDirection = 'none';
});
}, `assigning selectionDirection on an input[type=${type}] throws InvalidStateError`);
test(() => {
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
el.setRangeText("foobar");
});
}, `setRangeText on an input[type=${type}] throws InvalidStateError`);
test(() => {
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
el.setSelectionRange(0, 1);
});
}, `setSelectionRange on an input[type=${type}] throws InvalidStateError`);
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html
index 66b5e30a04e..a5918201b31 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html
@@ -94,13 +94,13 @@
}, element.id + " selectionMode 'preserve'");
test(function(){
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
element.setRangeText("barfoo", 2, 1);
});
}, element.id + " setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception");
test(function(){
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
element.setRangeText();
});
}, element.id + " setRangeText without argument throws a type error");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element.html
index 66f00e7615d..5ea96d3d1b2 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element.html
@@ -36,7 +36,7 @@ test(function(){
delete form[0];
assert_equals(form[0], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete form[0];
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html
index e794f07c03b..7b7d573615e 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html
@@ -145,7 +145,7 @@ test(function() {
var form = document.getElementsByTagName("form")[0]
var indices = [-1, 0, 1, 2, 3]
indices.forEach(function(i) {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
form.radio(i)
})
})
@@ -258,18 +258,18 @@ test(function() {
form["l1"] = 5;
assert_equals(form["l1"], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
form["l1"] = 5;
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
Object.defineProperty(form, "l1", { value: 5 });
});
delete form["l1"];
assert_equals(form["l1"], old_item);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete form["l1"];
});
@@ -319,7 +319,7 @@ test(function() {
delete form["new-name2"];
assert_equals(form["new-name2"], 5);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete form["new-name2"];
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-requestsubmit.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-requestsubmit.html
index 1c7b7870bdf..62ab12c8dfd 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-requestsubmit.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-requestsubmit.html
@@ -14,11 +14,11 @@ test(() => {
'<button type="button"></button>' +
'</form>');
let form = document.querySelector('form');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
form.requestSubmit(document.body);
});
for (let control of form.elements) {
- assert_throws(new TypeError(), () => { form.requestSubmit(control); });
+ assert_throws_js(TypeError, () => { form.requestSubmit(control); });
}
}, 'Passing an element which is not a submit button should throw');
@@ -31,14 +31,14 @@ test(() => {
let form = document.querySelector('form');
let submitButton = document.createElement('button');
submitButton.type = 'submit';
- assert_throws('NotFoundError', () => {
+ assert_throws_dom('NotFoundError', () => {
form.requestSubmit(submitButton);
});
let buttons = form.querySelectorAll('input, button');
assert_equals(buttons.length, 2);
for (let control of buttons) {
- assert_throws('NotFoundError', () => { form.requestSubmit(control) },
+ assert_throws_dom('NotFoundError', () => { form.requestSubmit(control) },
control.outerHTML);
}
}, 'Passing a submit button not owned by the context object should throw');
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html
index 93088330d37..a4157a3d6ba 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html
@@ -65,7 +65,7 @@ test(() => {
i1.files = null;
assert_equals(i1.files, files, "files cannot be set to null");
- assert_throws(new TypeError(), () => i1.files = [], "files cannot be set to an array");
- assert_throws(new TypeError(), () => i1.files = [new File([], "x")], "files cannot be set to an array (even when it contains File objects)");
+ assert_throws_js(TypeError, () => i1.files = [], "files cannot be set to an array");
+ assert_throws_js(TypeError, () => i1.files = [new File([], "x")], "files cannot be set to an array (even when it contains File objects)");
}, "setting <input type=file>.files");
</script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html
index 4aca00d8c6b..9274b5cddb3 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html
@@ -56,13 +56,13 @@
test(
function() {
var el = document.getElementById("hidden");
- assert_throws("InvalidStateError", function() { el.stepDown(); }, "");
+ assert_throws_dom("InvalidStateError", function() { el.stepDown(); }, "");
}, "stepDown does not apply for hidden");
test(
function() {
var el = document.getElementById("hidden");
- assert_throws("InvalidStateError", function() { el.stepUp(); }, "");
+ assert_throws_dom("InvalidStateError", function() { el.stepUp(); }, "");
}, "stepUp does not apply for hidden");
test(function(){
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/maxlength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/maxlength.html
index 8f0a2567d40..da5d18d00a9 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/maxlength.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/maxlength.html
@@ -39,7 +39,7 @@
test(
function() {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
document.getElementById("assign-negative").maxLength = -5;
});
}, "Assigning negative integer throws IndexSizeError");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/minlength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/minlength.html
index 7bfdf189a77..6748e30eaf1 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/minlength.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/minlength.html
@@ -39,7 +39,7 @@
test(
function() {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
document.getElementById("assign-negative").minLength = -5;
});
}, "Assigning negative integer throws IndexSizeError");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/selection.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/selection.html
index 7d9c1a4fd7e..42c40108d92 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/selection.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/selection.html
@@ -130,13 +130,13 @@ test(function() {
assert_equals(input.type, type, "the given input type is not supported");
assert_equals(input.selectionStart, null, 'getting input.selectionStart');
- assert_throws("INVALID_STATE_ERR", function() { input.selectionStart = 0; });
+ assert_throws_dom("INVALID_STATE_ERR", function() { input.selectionStart = 0; });
assert_equals(input.selectionEnd, null, 'getting input.selectionEnd');
- assert_throws("INVALID_STATE_ERR", function() { input.selectionEnd = 0; });
+ assert_throws_dom("INVALID_STATE_ERR", function() { input.selectionEnd = 0; });
assert_equals(input.selectionDirection, null, 'getting input.selectionDirection');
- assert_throws("INVALID_STATE_ERR", function() { input.selectionDirection = "none"; });
- assert_throws("INVALID_STATE_ERR", function() { input.setSelectionRange(0, 0); });
- assert_throws("INVALID_STATE_ERR", function() { input.setRangeText('', 0, 0); });
+ assert_throws_dom("INVALID_STATE_ERR", function() { input.selectionDirection = "none"; });
+ assert_throws_dom("INVALID_STATE_ERR", function() { input.setSelectionRange(0, 0); });
+ assert_throws_dom("INVALID_STATE_ERR", function() { input.setRangeText('', 0, 0); });
}, "input type " + type + " should not support variable-length selections");
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html
index b6d4ceabf4f..f30f9d39fc3 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html
@@ -89,13 +89,13 @@
test(
function() {
var el = document.getElementById(types[i]);
- assert_throws("InvalidStateError", function() { el.stepDown(); }, "");
+ assert_throws_dom("InvalidStateError", function() { el.stepDown(); }, "");
}, "stepDown does not apply for " + types[i]);
test(
function() {
var el = document.getElementById(types[i]);
- assert_throws("InvalidStateError", function() { el.stepUp(); }, "");
+ assert_throws_dom("InvalidStateError", function() { el.stepUp(); }, "");
}, "stepUp does not apply for " + types[i]);
}
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
index dc5dcbfdece..a10ea1d2858 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
@@ -103,7 +103,7 @@
var expected = INITIAL_VALUE;
input.type = types[i].type;
if (types[i].type === "file") {
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
input.value = expected;
});
assert_equals(input.value, "");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html
index 5502011794f..ff01bde269c 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html
@@ -314,7 +314,7 @@ test(function () {
}
for (const invalidValue of ["foo", 10, undefined]) {
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
input.value = invalidValue;
});
assert_equals(input.value, "", `input.value is empty after assigning ${invalidValue}`);
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html
index 1c1ce4f18c2..c7c260c957d 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html
@@ -72,12 +72,12 @@
}
test(function() {
var meter = document.createElement("meter");
- assert_throws(new TypeError(), function() { meter.value = "foobar"; }, "value attribute");
- assert_throws(new TypeError(), function() { meter.min = "foobar"; }, "min attribute");
- assert_throws(new TypeError(), function() { meter.max = "foobar"; }, "max attribute");
- assert_throws(new TypeError(), function() { meter.low = "foobar"; }, "low attribute");
- assert_throws(new TypeError(), function() { meter.high = "foobar"; }, "high attribute");
- assert_throws(new TypeError(), function() { meter.optimum = "foobar"; }, "optimum attribute");
+ assert_throws_js(TypeError, function() { meter.value = "foobar"; }, "value attribute");
+ assert_throws_js(TypeError, function() { meter.min = "foobar"; }, "min attribute");
+ assert_throws_js(TypeError, function() { meter.max = "foobar"; }, "max attribute");
+ assert_throws_js(TypeError, function() { meter.low = "foobar"; }, "low attribute");
+ assert_throws_js(TypeError, function() { meter.high = "foobar"; }, "high attribute");
+ assert_throws_js(TypeError, function() { meter.optimum = "foobar"; }, "optimum attribute");
}, "Invalid floating-point number values");
</script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-add.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-add.html
index 84a5442e424..910be348ae7 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-add.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-add.html
@@ -28,7 +28,7 @@ test(() => {
test(() => {
let testselect2 = document.getElementById("testselect2");
let opt2 = document.getElementById("testoption");
- assert_throws("HierarchyRequestError", () => {
+ assert_throws_dom("HierarchyRequestError", () => {
testselect2.add(opt2);
});
}, "test that HierarchyRequestError exception must be thrown when element is an ancestor of the element into which it is to be inserted");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html
index ff4e8f1b65c..3ea67395185 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html
@@ -35,7 +35,7 @@
test(
function () {
- assert_throws("INDEX_SIZE_ERR", function () {
+ assert_throws_dom("INDEX_SIZE_ERR", function () {
document.getElementById("assign-negative").maxLength = -5;
});
}, "Assigning negative integer throws IndexSizeError");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html
index 9a15a129392..2d40901b40d 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html
@@ -35,7 +35,7 @@
test(
function () {
- assert_throws("INDEX_SIZE_ERR", function () {
+ assert_throws_dom("INDEX_SIZE_ERR", function () {
document.getElementById("assign-negative").minLength = -5;
});
}, "Assigning negative integer throws IndexSizeError");
diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
index 267c22145ee..16b55b16270 100644
--- a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
+++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
@@ -71,7 +71,7 @@
test(function(){
this.add_cleanup(function() { d2.close(); });
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
d2.showModal();
});
}, "showModal() on a <dialog> that already has an open attribute throws an InvalidStateError exception");
@@ -89,7 +89,7 @@
test(function(){
var d = document.createElement("dialog");
this.add_cleanup(function() { d.close(); });
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
d.showModal();
});
}, "showModal() on a <dialog> not in a Document throws an InvalidStateError exception");
diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html
index 046395ac7c7..823c0c830fc 100644
--- a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html
+++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-hierarcy.html
@@ -15,16 +15,16 @@ test(() => {
var span = tmpl.content.querySelector('span');
// Hierarchy checks at various combinations.
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
tmpl.content.appendChild(parent);
}, 'Template content should throw if any of ancestor is being appended.');
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
tmpl.content.appendChild(tmpl);
}, 'Template content should throw if its host is being appended.');
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
span.appendChild(parent);
}, 'Template content child should throw if any of ancestor is being appended.');
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
span.appendChild(tmpl);
}, 'Template content child should throw template\'s host is being appended.');
}, "Template content should throw when its ancestor is being appended.");
@@ -52,16 +52,16 @@ test(() => {
assert_equals(tmpl.content.ownerDocument, tmplContentNodeDocument);
// Hierarchy checks at various combinations.
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
tmpl.content.appendChild(parent);
}, 'Template content should throw if any of ancestor is being appended.');
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
tmpl.content.appendChild(tmpl);
}, 'Template content should throw if its host is being appended.');
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
span.appendChild(parent);
}, 'Template content child should throw if any of ancestor is being appended.');
- assert_throws('HierarchyRequestError', () => {
+ assert_throws_dom('HierarchyRequestError', () => {
span.appendChild(tmpl);
}, 'Template content child should throw template\'s host is being appended.');
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html
index ec95eab39fb..a349ed2b775 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html
@@ -140,7 +140,7 @@
caption.appendChild(table5)
// Node cannot be inserted at the specified point in the hierarchy
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
table5.caption = caption;
});
@@ -173,7 +173,7 @@
test(function() {
var table8 = document.createElement("table");
var caption = document.createElement("captİon");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
table8.caption = caption;
});
}, "Assigning a non-caption to table.caption")
@@ -181,7 +181,7 @@
test(function() {
var table9 = document.createElement("table");
var caption = document.createElementNS("http://www.example.com", "caption");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
table9.caption = caption;
});
}, "Assigning a foreign caption to table.caption")
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html
index 4e379a1ccc3..8ed7b5fad68 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html
@@ -14,10 +14,10 @@
<script>
test(function() {
var table = document.getElementById("test").getElementsByTagName("table")[0];
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
table.insertRow(-2);
})
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
table.insertRow(2);
})
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html
index dc152292e27..43a128c57e9 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html
@@ -25,12 +25,12 @@
var el = document.getElementById('element');
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
el.deleteRow(-2)
})
}, 'deleteRow function invalid argument');
test(function() {
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
el.deleteRow(el.rows.length)
})
}, 'deleteRow function invalid argument bis');
@@ -57,7 +57,7 @@ test(function() {
test(function() {
assert_equals(el.rows.length, 0);
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
el.deleteRow(0);
});
}, 'deleteRow(0) with no rows');
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html
index e83d193f35f..40220bc1e26 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html
@@ -46,11 +46,11 @@ test(function() {
assert_equals(t.tFoot.previousSibling, tbody2);
assert_equals(t.tFoot.nextSibling, null);
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
t.tFoot = document.createElement("div");
});
- assert_throws("HierarchyRequestError", function(){
+ assert_throws_dom("HierarchyRequestError", function(){
t.tFoot = document.createElement("thead");
});
})
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tHead.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tHead.html
index 78a874824df..fadebecd6f2 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tHead.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tHead.html
@@ -45,11 +45,11 @@ test(function() {
assert_equals(t.tHead.previousSibling, tcaption);
assert_equals(t.tHead.nextSibling, tbody1);
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
t.tHead = document.createElement("div");
});
- assert_throws("HierarchyRequestError", function(){
+ assert_throws_dom("HierarchyRequestError", function(){
t.tHead = document.createElement("tbody");
});
@@ -59,7 +59,7 @@ test(function() {
var t2 = document.getElementById("t2");
var t2thead = document.getElementById("t2thead");
- assert_throws("HierarchyRequestError", function() {
+ assert_throws_dom("HierarchyRequestError", function() {
t2.tHead = t2thead;
});
});
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/deleteRow.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/deleteRow.html
index 5e50a318739..695c1ea50bf 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/deleteRow.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/deleteRow.html
@@ -32,13 +32,13 @@ test(function () {
}, "HTMLTableSectionElement deleteRow(-1)");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tbody.deleteRow(tbody.rows.length);
});
}, "HTMLTableSectionElement deleteRow(rows.length)");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tbody.deleteRow(-2);
});
}, "HTMLTableSectionElement deleteRow(-2)");
@@ -53,7 +53,7 @@ test(function () {
test(function () {
assert_equals(tbody.rows.length, 0);
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tbody.deleteRow(0);
});
}, "HTMLTableSectionElement deleteRow(0) with no rows");
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow.html
index 4c13db7aa5f..f5c2227ca60 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow.html
@@ -42,13 +42,13 @@ test(function () {
}, "HTMLTableSectionElement insertRow(rows.length)");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tbody.insertRow(-2);
});
}, "HTMLTableSectionElement insertRow(-2)");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tbody.insertRow(tbody.rows.length + 1);
});
}, "HTMLTableSectionElement insertRow(rows.length + 1)");
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/deleteCell.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/deleteCell.html
index aa15ef77ec2..9962617a71e 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/deleteCell.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/deleteCell.html
@@ -32,13 +32,13 @@ test(function () {
}, "HTMLTableRowElement deleteCell(-1)");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tr.deleteCell(-2);
});
}, "HTMLTableRowElement deleteCell(-2)");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tr.deleteCell(tr.cells.length);
});
}, "HTMLTableRowElement deleteCell(cells.length)");
@@ -53,7 +53,7 @@ test(function () {
test(function () {
assert_equals(tr.cells.length, 0);
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tr.deleteCell(0);
});
}, "HTMLTableRowElement deleteCell(0) with no cells");
diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/insertCell.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/insertCell.html
index 7c2edc4acbf..11cd213fe7b 100644
--- a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/insertCell.html
+++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/insertCell.html
@@ -41,13 +41,13 @@ test(function () {
}, "HTMLTableRowElement insertCell()");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tr.insertCell(-2);
});
}, "HTMLTableRowElement insertCell(-2)");
test(function () {
- assert_throws("IndexSizeError", function () {
+ assert_throws_dom("IndexSizeError", function () {
tr.insertCell(tr.cells.length + 1);
});
}, "HTMLTableRowElement insertCell(cells.length + 1)");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/atob/base64.html b/tests/wpt/web-platform-tests/html/webappapis/atob/base64.html
index c522afdd56c..61c3667dcee 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/atob/base64.html
+++ b/tests/wpt/web-platform-tests/html/webappapis/atob/base64.html
@@ -87,7 +87,7 @@ function testBtoa(input) {
var normalizedInput = String(input);
for (var i = 0; i < normalizedInput.length; i++) {
if (normalizedInput.charCodeAt(i) > 255) {
- assert_throws("InvalidCharacterError", function() { btoa(input); },
+ assert_throws_dom("InvalidCharacterError", function() { btoa(input); },
"Code unit " + i + " has value " + normalizedInput.charCodeAt(i) + ", which is greater than 255");
return;
}
@@ -160,7 +160,7 @@ function runAtobTests(tests) {
output = allTests[i][1];
test(() => {
if(output === null) {
- assert_throws("InvalidCharacterError", () => window.atob(input));
+ assert_throws_dom("InvalidCharacterError", () => window.atob(input));
} else {
const result = window.atob(input);
for(let ii = 0; ii < output.length; ii++) {
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml
index cccc26bf17e..164d71d1910 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml
@@ -10,7 +10,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
document.close();
}, "document.close in XHTML should throw an INVALID_STATE_ERR ");
}, "document.close in XHTML");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml
index ec8702a744e..fc21d4e2bf2 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml
@@ -10,7 +10,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
document.write("Failure: document.write actually worked");
}, "document.write in XHTML should throw an INVALID_STATE_ERR ");
}, "document.write in XHTML");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml
index 3d59bcd20b4..cb5ec3a33af 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml
@@ -10,7 +10,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
document.writeln("Failure: document.writeln actually worked");
}, "document.writeln in XHTML should throw an INVALID_STATE_ERR ");
}, "document.writeln in XHTML");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js
index 0e1c54b6832..d60be3b8d60 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js
@@ -14,7 +14,7 @@ async_test(t => {
iframe.onload = t.step_func_done(() => {
// Since this is called as an event handler on an element of this window,
// the entry settings object is that of this browsing context.
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
iframe.contentDocument.open();
}, "opening an XML document should throw an InvalidStateError");
});
@@ -39,7 +39,7 @@ async_test(t => {
// IDL algorithm in "create an element", called by "create an element for a
// token" in the parser.
setEntryToTopLevel(t.step_func_done(() => {
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
iframe.contentDocument.open();
}, "opening a document when the throw-on-dynamic-markup-insertion counter is incremented should throw an InvalidStateError");
}));
@@ -60,7 +60,7 @@ async_test(t => {
// "Clean up after running script" is executed when the </script> tag is
// seen by the HTML parser.
setEntryToTopLevel(t.step_func_done(() => {
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
iframe.contentDocument.open();
}, "opening a same origin-domain (but not same origin) document should throw a SecurityError");
}));
@@ -85,7 +85,7 @@ for (const ev of ["beforeunload", "pagehide", "unload"]) {
// "Clean up after running script" is called in the task that
// navigates.
setEntryToTopLevel(t.step_func_done(() => {
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
iframe.contentDocument.open();
}, "opening a same origin-domain (but not same origin) document should throw a SecurityError");
}));
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js
index 3558397410e..8b1a04fe83a 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js
@@ -2,7 +2,7 @@ async_test(t => {
const iframe = document.body.appendChild(document.createElement("iframe"));
t.add_cleanup(() => { iframe.remove(); });
self.testSynchronousScript = t.step_func_done(() => {
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
iframe.contentDocument.open();
}, "opening an XML document should throw");
});
@@ -15,7 +15,7 @@ for (const ev of ["beforeunload", "pagehide", "unload"]) {
t.add_cleanup(() => { iframe.remove(); });
iframe.addEventListener("load", t.step_func(() => {
iframe.contentWindow.addEventListener(ev, t.step_func_done(() => {
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
iframe.contentDocument.open();
}, "opening an XML document should throw");
}));
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js
index ef35452e330..9adacb2a99f 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js
@@ -7,7 +7,7 @@ testInIFrame("http://{{host}}:{{ports[http][1]}}/common/domain-setter.sub.html",
const iframe = ctx.iframes[0];
const origURL = iframe.contentDocument.URL;
assertDocumentIsReadyForSideEffectsTest(iframe.contentDocument, "same origin-domain (but not same origin) document");
- assert_throws("SecurityError", () => {
+ assert_throws_dom("SecurityError", () => {
ctx.iframes[0].contentDocument.open();
}, "document.open() should throw a SecurityError on a same origin-domain (but not same origin) document");
assertOpenHasNoSideEffects(iframe.contentDocument, origURL, "same origin-domain (but not same origin) document");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js
index b3ea1fdf754..bcc4266319a 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js
@@ -7,7 +7,7 @@ async_test(t => {
iframe.onload = t.step_func_done(() => {
const origURL = iframe.contentDocument.URL;
assertDocumentIsReadyForSideEffectsTest(iframe.contentDocument, "XML document");
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
iframe.contentDocument.open();
}, "document.open() should throw on XML documents");
assertOpenHasNoSideEffects(iframe.contentDocument, origURL, "XML document");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js
index be646d15b80..1ad06b3d372 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js
@@ -33,7 +33,7 @@ test(t => {
test(t => {
err = noError;
document.write("<custom-element></custom-element>");
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
throw err;
});
}, "document.open() is forbidden in custom element constructor when creating element from parser");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml
index 974702ae8cb..c02b3e4db50 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml
@@ -10,7 +10,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
document.open();
}, "document.open in XHTML should throw an INVALID_STATE_ERR ");
}, "document.open in XHTML");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
index b56e3a836f4..c7e67a0cf74 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
@@ -20,7 +20,7 @@ test(function() {
var parser = new DOMParser();
var doc = parser.parseFromString("", "text/html");
assert_equals(doc.defaultView, null);
- assert_throws("INVALID_ACCESS_ERR", function() {
+ assert_throws_dom("INVALID_ACCESS_ERR", function() {
doc.open("/resources/testharness.js", "", "");
});
}, "document.open should throw when it has no window and is called with three arguments");
diff --git a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html
index 5e5ca807818..83ce50d6c4d 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html
+++ b/tests/wpt/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html
@@ -10,13 +10,13 @@
testInIFrame("http://{{host}}:{{ports[http][1]}}/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html", (ctx) => {
document.domain = document.domain;
var doc = ctx.iframes[0].contentDocument;
- assert_throws("SecurityError", doc.open.bind(doc), "Opening a same origin-domain (but not same origin) document doesn't throw.");
+ assert_throws_dom("SecurityError", doc.open.bind(doc), "Opening a same origin-domain (but not same origin) document doesn't throw.");
}, "It should not be possible to open same origin-domain (but not same origin) documents.");
testInIFrame("http://{{host}}:{{ports[http][1]}}/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html", (ctx) => {
document.domain = document.domain;
var doc = ctx.iframes[0].contentDocument;
- assert_throws("SecurityError", doc.write.bind(doc, ""), "Implicitly opening a same origin-domain (but not same origin) document doesn't throw.");
+ assert_throws_dom("SecurityError", doc.write.bind(doc, ""), "Implicitly opening a same origin-domain (but not same origin) document doesn't throw.");
}, "It should not be possible to implicitly open same origin-domain (but not same origin) documents.");
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/html/webappapis/microtask-queuing/queue-microtask.any.js b/tests/wpt/web-platform-tests/html/webappapis/microtask-queuing/queue-microtask.any.js
index b39931719a8..e67765fade3 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/microtask-queuing/queue-microtask.any.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/microtask-queuing/queue-microtask.any.js
@@ -6,12 +6,12 @@ test(() => {
}, "It exists and is a function");
test(() => {
- assert_throws(new TypeError(), () => queueMicrotask(), "no argument");
- assert_throws(new TypeError(), () => queueMicrotask(undefined), "undefined");
- assert_throws(new TypeError(), () => queueMicrotask(null), "null");
- assert_throws(new TypeError(), () => queueMicrotask(0), "0");
- assert_throws(new TypeError(), () => queueMicrotask({ handleEvent() { } }), "an event handler object");
- assert_throws(new TypeError(), () => queueMicrotask("window.x = 5;"), "a string");
+ assert_throws_js(TypeError, () => queueMicrotask(), "no argument");
+ assert_throws_js(TypeError, () => queueMicrotask(undefined), "undefined");
+ assert_throws_js(TypeError, () => queueMicrotask(null), "null");
+ assert_throws_js(TypeError, () => queueMicrotask(0), "0");
+ assert_throws_js(TypeError, () => queueMicrotask({ handleEvent() { } }), "an event handler object");
+ assert_throws_js(TypeError, () => queueMicrotask("window.x = 5;"), "a string");
}, "It throws when given non-functions");
async_test(t => {
diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https.html
index 70b5ff6e568..c0dc4d231ce 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https.html
+++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https.html
@@ -35,7 +35,7 @@ test(function() {
}, "MessageEventInit dictionary")
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new MessageEvent("test", { ports: null })
})
}, "Passing null for ports member")
@@ -67,7 +67,7 @@ test(function() {
test(function() {
var ev = document.createEvent("messageevent")
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
ev.initMessageEvent("test", true, false, "testData", "testOrigin", "testId", window, null)
})
}, "Passing null for ports parameter to initMessageEvent")
diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js
index a890b350198..f195a70fdf9 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.js
@@ -4,7 +4,7 @@ test(() => {
const sab = new SharedArrayBuffer(16);
const ta = new Int32Array(sab);
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
Atomics.wait(ta, 0, 0, 10);
});
}, `[[CanBlock]] in a ${self.constructor.name}`);
diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html
index 17cc35c21b0..88875072128 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html
+++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html
@@ -16,7 +16,7 @@ test(function() {
assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).reason, undefined);
// No promise is passed.
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() {
new PromiseRejectionEvent('eventType', { bubbles: false });
},
diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html
index 2b70f7ae602..c6fbeb65c55 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html
+++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html
@@ -53,11 +53,11 @@ const invalid_urls1 = [
for (const url of invalid_urls1) {
test(() => {
- assert_throws('SYNTAX_ERR', () => { navigator.registerProtocolHandler('mailto', url, 'foo'); });
+ assert_throws_dom('SYNTAX_ERR', () => { navigator.registerProtocolHandler('mailto', url, 'foo'); });
}, 'registerProtocolHandler: Invalid URL "' + url + '" should throw SYNTAX_ERR.');
test(() => {
- assert_throws('SYNTAX_ERR', () => { navigator.unregisterProtocolHandler('mailto', url); });
+ assert_throws_dom('SYNTAX_ERR', () => { navigator.unregisterProtocolHandler('mailto', url); });
}, 'unregisterProtocolHandler: Invalid URL "' + url + '" should throw SYNTAX_ERR.');
}
@@ -72,11 +72,11 @@ const invalid_urls2 = [
];
for (const url of invalid_urls2) {
test(() => {
- assert_throws('SECURITY_ERR', () => { navigator.registerProtocolHandler('mailto', url, 'foo'); });
+ assert_throws_dom('SECURITY_ERR', () => { navigator.registerProtocolHandler('mailto', url, 'foo'); });
}, 'registerProtocolHandler: Invalid URL "' + url + '" should throw SECURITY_ERR.');
test(() => {
- assert_throws('SECURITY_ERR', () => { navigator.unregisterProtocolHandler('mailto', url); });
+ assert_throws_dom('SECURITY_ERR', () => { navigator.unregisterProtocolHandler('mailto', url); });
}, 'unregisterProtocolHandler: Invalid URL "' + url + '" should throw SECURITY_ERR.');
}
@@ -130,11 +130,11 @@ const denylist = [
];
for (const scheme of denylist) {
test(() => {
- assert_throws('SECURITY_ERR', () => { navigator.registerProtocolHandler(scheme, location.href + '/%s', 'foo'); });
+ assert_throws_dom('SECURITY_ERR', () => { navigator.registerProtocolHandler(scheme, location.href + '/%s', 'foo'); });
}, 'registerProtocolHandler: Attempting to override the "' + scheme + '" protocol should throw SECURITY_ERR.');
test(() => {
- assert_throws('SECURITY_ERR', () => { navigator.unregisterProtocolHandler(scheme, location.href + '/%s'); });
+ assert_throws_dom('SECURITY_ERR', () => { navigator.unregisterProtocolHandler(scheme, location.href + '/%s'); });
}, 'unregisterProtocolHandler: Attempting to override the "' + scheme + '" protocol should throw SECURITY_ERR.');
}
diff --git a/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached.html b/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached.html
index c0ae84148af..40bf6eeb568 100644
--- a/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached.html
+++ b/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached.html
@@ -19,7 +19,7 @@ promise_test(function() {
// The image should be detached after transferFromImageBitmap.
assert_equals(image.width, 0);
assert_equals(image.height, 0);
- assert_throws("InvalidStateError", function() { dstCtx.transferFromImageBitmap(image); });
+ assert_throws_dom("InvalidStateError", function() { dstCtx.transferFromImageBitmap(image); });
}
var srcCanvas = document.createElement('canvas');
diff --git a/tests/wpt/web-platform-tests/import-maps/resources/jest-test-helper.js b/tests/wpt/web-platform-tests/import-maps/resources/jest-test-helper.js
index 8fa7b65adb5..ee62af853cd 100644
--- a/tests/wpt/web-platform-tests/import-maps/resources/jest-test-helper.js
+++ b/tests/wpt/web-platform-tests/import-maps/resources/jest-test-helper.js
@@ -37,7 +37,7 @@ function expect(v) {
toThrow: expected => {
if (expected.test && expected.test('not yet implemented')) {
// We override /not yet implemented/ expectation.
- assert_throws(TypeError(), v);
+ assert_throws_js(TypeError, v);
} else {
assert_throws(expected(), v);
}
diff --git a/tests/wpt/web-platform-tests/interfaces/css-regions.idl b/tests/wpt/web-platform-tests/interfaces/css-regions.idl
deleted file mode 100644
index f7cf3d31a11..00000000000
--- a/tests/wpt/web-platform-tests/interfaces/css-regions.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-// GENERATED CONTENT - DO NOT EDIT
-// Content was automatically extracted by Reffy into reffy-reports
-// (https://github.com/tidoust/reffy-reports)
-// Source: CSS Regions Module Level 1 (https://drafts.csswg.org/css-regions/)
-
-partial interface Document {
- readonly attribute NamedFlowMap namedFlows;
-};
-
-[Exposed=Window,
- MapClass=(CSSOMString, NamedFlow)] interface NamedFlowMap {
- NamedFlow? get(CSSOMString flowName);
- boolean has(CSSOMString flowName);
- NamedFlowMap set(CSSOMString flowName, NamedFlow flowValue);
- boolean delete(CSSOMString flowName);
-};
-
-[Exposed=Window]
-interface NamedFlow : EventTarget {
- readonly attribute CSSOMString name;
- readonly attribute boolean overset;
- sequence<Region> getRegions();
- readonly attribute short firstEmptyRegionIndex;
- sequence<Node> getContent();
- sequence<Region> getRegionsByContent(Node node);
-};
-
-interface mixin Region {
- readonly attribute CSSOMString regionOverset;
- sequence<Range>? getRegionFlowRanges();
-};
-
-Element includes Region;
diff --git a/tests/wpt/web-platform-tests/intersection-observer/observer-exceptions.html b/tests/wpt/web-platform-tests/intersection-observer/observer-exceptions.html
index f8d089b75b4..126790f290d 100644
--- a/tests/wpt/web-platform-tests/intersection-observer/observer-exceptions.html
+++ b/tests/wpt/web-platform-tests/intersection-observer/observer-exceptions.html
@@ -5,55 +5,55 @@
<script>
test(function () {
- assert_throws(RangeError(), function() {
+ assert_throws_js(RangeError, function() {
new IntersectionObserver(e => {}, {threshold: [1.1]})
})
}, "IntersectionObserver constructor with { threshold: [1.1] }");
test(function () {
- assert_throws(TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new IntersectionObserver(e => {}, {threshold: ["foo"]})
})
}, 'IntersectionObserver constructor with { threshold: ["foo"] }');
test(function () {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
new IntersectionObserver(e => {}, {rootMargin: "1"})
})
}, 'IntersectionObserver constructor with { rootMargin: "1" }');
test(function () {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
new IntersectionObserver(e => {}, {rootMargin: "2em"})
})
}, 'IntersectionObserver constructor with { rootMargin: "2em" }');
test(function () {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
new IntersectionObserver(e => {}, {rootMargin: "auto"})
})
}, 'IntersectionObserver constructor with { rootMargin: "auto" }');
test(function () {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
new IntersectionObserver(e => {}, {rootMargin: "calc(1px + 2px)"})
})
}, 'IntersectionObserver constructor with { rootMargin: "calc(1px + 2px)" }');
test(function () {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
new IntersectionObserver(e => {}, {rootMargin: "1px !important"})
})
}, 'IntersectionObserver constructor with { rootMargin: "1px !important" }');
test(function () {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
new IntersectionObserver(e => {}, {rootMargin: "1px 1px 1px 1px 1px"})
})
}, 'IntersectionObserver constructor with { rootMargin: "1px 1px 1px 1px 1px" }');
test(function () {
- assert_throws(TypeError(), function() {
+ assert_throws_js(TypeError, function() {
let observer = new IntersectionObserver(c => {}, {});
observer.observe("foo");
})
diff --git a/tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html b/tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html
index e5589803a68..13d49a8d192 100644
--- a/tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html
+++ b/tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html
@@ -11,12 +11,12 @@ var test_error = { name: "test" };
// Step 1.
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
[].join.call(null, {
toString: function() { assert_unreached(); }
});
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
[].join.call(undefined, {
toString: function() { assert_unreached(); }
});
diff --git a/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html
index 402f1ae6fd5..e64d0b71632 100644
--- a/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html
+++ b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html
@@ -34,7 +34,7 @@ test(function() {
test(function() {
[null, undefined].forEach(function(that) {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { that.hasOwnProperty('hasOwnProperty'); });
});
});
diff --git a/tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html b/tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html
index ecf4a8e311e..2c2bddfeb71 100644
--- a/tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html
+++ b/tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html
@@ -25,16 +25,16 @@ function test_length(fun, expected) {
function test_thisval(fun, args) {
// Step 1-2
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
WeakMap.prototype[fun].apply(null, args);
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
WeakMap.prototype[fun].apply(undefined, args);
});
}, "WeakMap.prototype." + fun + ": ToObject on this")
// Step 3
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
WeakMap.prototype[fun].apply({}, args);
});
}, "WeakMap.prototype." + fun + ": this has no [[WeakMapData]] internal property")
diff --git a/tests/wpt/web-platform-tests/kv-storage/interface.https.html b/tests/wpt/web-platform-tests/kv-storage/interface.https.html
index a5eba425b6d..d98b1c876d3 100644
--- a/tests/wpt/web-platform-tests/kv-storage/interface.https.html
+++ b/tests/wpt/web-platform-tests/kv-storage/interface.https.html
@@ -79,9 +79,9 @@ test(() => {
assert_equals(descriptor.value.name, methodName,
`${methodName} function object should have the right name`);
- assert_throws(new TypeError(), () => descriptor.value.call(StorageArea.prototype),
+ assert_throws_js(TypeError, () => descriptor.value.call(StorageArea.prototype),
`${methodName} should throw when called on the prototype directly`);
- assert_throws(new TypeError(), () => descriptor.value.call({}),
+ assert_throws_js(TypeError, () => descriptor.value.call({}),
`${methodName} should throw when called on an empty object`);
}
@@ -140,29 +140,30 @@ promise_test(async t => {
await frameLoadPromise(iframe);
const OtherStorageArea = iframe.contentWindow.StorageArea;
+ const TypeError = iframe.contentWindow.TypeError;
- await promise_rejects(t, new TypeError(),
+ await promise_rejects_js(t, TypeError,
OtherStorageArea.prototype.set.call(storage, "testkey", "testvalue"),
`set() must reject cross-realm`);
- await promise_rejects(t, new TypeError(),
+ await promise_rejects_js(t, TypeError,
OtherStorageArea.prototype.get.call(storage, "testkey"),
`get() must reject cross-realm`);
- await promise_rejects(t, new TypeError(),
+ await promise_rejects_js(t, TypeError,
OtherStorageArea.prototype.delete.call(storage, "testkey"),
`delete() must reject cross-realm`);
- await promise_rejects(t, new TypeError(), OtherStorageArea.prototype.clear.call(storage),
+ await promise_rejects_js(t, TypeError, OtherStorageArea.prototype.clear.call(storage),
`clear() must reject cross-realm`);
- assert_throws(new TypeError(), () => OtherStorageArea.prototype.keys.call(storage),
+ assert_throws_js(TypeError, () => OtherStorageArea.prototype.keys.call(storage),
`keys() must throw cross-realm`);
- assert_throws(new TypeError(), () => OtherStorageArea.prototype.values.call(storage),
+ assert_throws_js(TypeError, () => OtherStorageArea.prototype.values.call(storage),
`values() must throw cross-realm`);
- assert_throws(new TypeError(), () => OtherStorageArea.prototype.entries.call(storage),
+ assert_throws_js(TypeError, () => OtherStorageArea.prototype.entries.call(storage),
`entries() must throw cross-realm`);
const otherBackingStoreGetter =
Object.getOwnPropertyDescriptor(OtherStorageArea.prototype, "backingStore").get;
- assert_throws(new TypeError(), () => otherBackingStoreGetter.call(storage),
+ assert_throws_js(TypeError, () => otherBackingStoreGetter.call(storage),
`backingStore must throw cross-realm`);
}, "Same-realm brand checks");
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/contracted-image.html b/tests/wpt/web-platform-tests/largest-contentful-paint/contracted-image.html
index 2d4a84bf35c..ed6adfb2c7c 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/contracted-image.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/contracted-image.html
@@ -13,9 +13,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/cross-origin-image.sub.html b/tests/wpt/web-platform-tests/largest-contentful-paint/cross-origin-image.sub.html
index 58e636e51b9..be0c8a1e11e 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/cross-origin-image.sub.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/cross-origin-image.sub.html
@@ -7,9 +7,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/expanded-image.html b/tests/wpt/web-platform-tests/largest-contentful-paint/expanded-image.html
index 6f7043dd8e4..e0b3545c21c 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/expanded-image.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/expanded-image.html
@@ -13,9 +13,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/first-letter-background.html b/tests/wpt/web-platform-tests/largest-contentful-paint/first-letter-background.html
index 44d2a1a9680..5269e468558 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/first-letter-background.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/first-letter-background.html
@@ -12,9 +12,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/first-paint-equals-lcp-text.html b/tests/wpt/web-platform-tests/largest-contentful-paint/first-paint-equals-lcp-text.html
index a49a83f346d..7a01cb15943 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/first-paint-equals-lcp-text.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/first-paint-equals-lcp-text.html
@@ -6,12 +6,8 @@
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(function (t) {
- if (!window.PerformancePaintTiming) {
- assert_unreached("PerformancePaintTiming is not implemented");
- }
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.PerformancePaintTiming, "PerformancePaintTiming is not implemented");
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
let firstPaintTime = 0;
let firstContentfulPaintTime = 0;
let largestContentfulPaintTime = 0;
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/iframe-content-not-observed.html b/tests/wpt/web-platform-tests/largest-contentful-paint/iframe-content-not-observed.html
index 7cb23ddbd20..ea8e0d79f38 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/iframe-content-not-observed.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/iframe-content-not-observed.html
@@ -8,9 +8,7 @@
<body>
<script>
async_test((t) => {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(entryList => {
assert_unreached("Should not have received an entry!");
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/image-src-change.html b/tests/wpt/web-platform-tests/largest-contentful-paint/image-src-change.html
index 5ec860fa06f..cbe46f402b4 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/image-src-change.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/image-src-change.html
@@ -8,9 +8,7 @@
<img src='/images/blue.png' id='image_id'/>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
let beforeLoad = performance.now();
let firstCallback = true;
const observer = new PerformanceObserver(
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/invisible-images.html b/tests/wpt/web-platform-tests/largest-contentful-paint/invisible-images.html
index d536f86dcf6..49324663f22 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/invisible-images.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/invisible-images.html
@@ -19,9 +19,7 @@
<body>
<script>
async_test(t => {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const observer = new PerformanceObserver(
t.step_func(entryList => {
entryList.getEntries().forEach(entry => {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/larger-image.html b/tests/wpt/web-platform-tests/largest-contentful-paint/larger-image.html
index 094c2096752..a571b8afe79 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/larger-image.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/larger-image.html
@@ -13,9 +13,7 @@
<p>More text!</p>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func(entryList => {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/larger-text.html b/tests/wpt/web-platform-tests/largest-contentful-paint/larger-text.html
index 973832ca6c8..af8bbc06b32 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/larger-text.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/larger-text.html
@@ -18,9 +18,7 @@
<img src='/images/green-2x2.png'/>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
let beforeRender;
const observer = new PerformanceObserver(
t.step_func(entryList => {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/loadTime-after-appendChild.html b/tests/wpt/web-platform-tests/largest-contentful-paint/loadTime-after-appendChild.html
index 0e40127b576..f320b03df4d 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/loadTime-after-appendChild.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/loadTime-after-appendChild.html
@@ -7,9 +7,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
let beforeLoad;
const observer = new PerformanceObserver(
t.step_func_done(entryList => {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/observe-after-untrusted-scroll.html b/tests/wpt/web-platform-tests/largest-contentful-paint/observe-after-untrusted-scroll.html
index 1b2cd1d25b5..4a1a214c833 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/observe-after-untrusted-scroll.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/observe-after-untrusted-scroll.html
@@ -7,9 +7,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/observe-image.html b/tests/wpt/web-platform-tests/largest-contentful-paint/observe-image.html
index 5856795cac4..58eb5364a92 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/observe-image.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/observe-image.html
@@ -7,9 +7,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/observe-text.html b/tests/wpt/web-platform-tests/largest-contentful-paint/observe-text.html
index a2a376fde33..402fcd80195 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/observe-text.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/observe-text.html
@@ -11,9 +11,7 @@ p {
</style>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
let beforeRender;
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/repeated-image.html b/tests/wpt/web-platform-tests/largest-contentful-paint/repeated-image.html
index 82d662d330a..8c3c8909099 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/repeated-image.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/repeated-image.html
@@ -13,9 +13,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
let beforeLoad = performance.now();
let firstCallback = true;
const url = window.location.origin + '/images/black-rectangle.png';
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/text-with-display-style.html b/tests/wpt/web-platform-tests/largest-contentful-paint/text-with-display-style.html
index 2f1f254d777..24541541a8b 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/text-with-display-style.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/text-with-display-style.html
@@ -12,9 +12,7 @@
<h1 id='title'>I am a title!</h1>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
let beforeRender;
/* In this test, we first observe a header with style 'display: flex'.
* Once observed, we remove it and add a header with style 'display: grid'.
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/toJSON.html b/tests/wpt/web-platform-tests/largest-contentful-paint/toJSON.html
index 7defcce1b6f..25be5eb2dc9 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/toJSON.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/toJSON.html
@@ -7,9 +7,7 @@
<p>Text!</p>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
const entry = entryList.getEntries()[0];
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/video-poster.html b/tests/wpt/web-platform-tests/largest-contentful-paint/video-poster.html
index 9ad9c4cdfd0..535f30e2565 100644
--- a/tests/wpt/web-platform-tests/largest-contentful-paint/video-poster.html
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/video-poster.html
@@ -6,9 +6,7 @@
<script src="resources/largest-contentful-paint-helpers.js"></script>
<script>
async_test(function (t) {
- if (!window.LargestContentfulPaint) {
- assert_unreached("LargestContentfulPaint is not implemented");
- }
+ assert_precondition(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
const beforeLoad = performance.now();
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist
index 1b102e4e03c..e428d2f4f19 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.whitelist
@@ -384,7 +384,6 @@ INDENT TABS: css/css-images/support/1x1-green.svg
INDENT TABS: css/css-masking/*
INDENT TABS: css/css-multicol/*
INDENT TABS: css/css-page/*
-INDENT TABS: css/css-regions/*
INDENT TABS: css/css-round-display/*
INDENT TABS: css/css-text/*
INDENT TABS: css/css-text-decor/*
@@ -400,9 +399,6 @@ INDENT TABS: css/WOFF2/*
## Things we're stopping from getting worse
-CONSOLE: css/css-regions/elements/support/Three.js
-CONSOLE: css/css-regions/interactivity/selection/support/js/selection-test-helper.js
-CONSOLE: css/css-regions/stacking-context/javascript-stacking-context-002.html
CONSOLE: css/css-shapes/shape-outside/supported-shapes/support/test-utils.js
CONSOLE: css/css-values/viewport-units-css2-001.html
CONSOLE: css/css-writing-modes/orthogonal-parent-shrink-to-fit-001*.html
@@ -475,9 +471,6 @@ CSS-COLLIDING-SUPPORT-NAME: css/*/LOCK
# These are all the current "merge mismatch" errors the build system produces
CSS-COLLIDING-SUPPORT-NAME: css/css-flexbox/support/200x200-green.png
CSS-COLLIDING-SUPPORT-NAME: css/css-grid/grid-items/support/200x200-green.png
-CSS-COLLIDING-SUPPORT-NAME: css/css-scroll-snap/support/common.css
-CSS-COLLIDING-SUPPORT-NAME: css/css-regions/contentEditable/support/common.css
-CSS-COLLIDING-SUPPORT-NAME: css/css-regions/interactivity/full-screen/support/common.css
CSS-COLLIDING-SUPPORT-NAME: css/css-backgrounds/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/css-multicol/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/css-transitions/support/pattern-grg-rgr-grg.png
@@ -492,8 +485,6 @@ CSS-COLLIDING-SUPPORT-NAME: css/css-flexbox/support/solidblue.png
CSS-COLLIDING-SUPPORT-NAME: css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/support/solidblue.png
CSS-COLLIDING-SUPPORT-NAME: css/css-writing-modes/support/swatch-fuchsia.png
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/support/swatch-fuchsia.png
-CSS-COLLIDING-SUPPORT-NAME: css/css-regions/interactivity/full-screen/support/util.js
-CSS-COLLIDING-SUPPORT-NAME: css/css-regions/interactivity/resizing/support/util.js
# More duplicated copies of the above
CSS-COLLIDING-SUPPORT-NAME: css/support/pattern-rgr-grg-rgr.png
@@ -508,7 +499,6 @@ CSS-COLLIDING-SUPPORT-NAME: css/CSS2/support/pattern-rgr-grg-rgr.png
CSS-COLLIDING-SUPPORT-NAME: css/cssom/support/pattern-rgr-grg-rgr.png
CSS-COLLIDING-SUPPORT-NAME: css/css-style-attr/support/pattern-rgr-grg-rgr.png
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/borders/support/pattern-rgr-grg-rgr.png
-CSS-COLLIDING-SUPPORT-NAME: css/css-regions/support/pattern-rgr-grg-rgr.png
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/zindex/support/pattern-rgr-grg-rgr.png
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/text/support/pattern-rgr-grg-rgr.png
CSS-COLLIDING-SUPPORT-NAME: css/css-values/support/pattern-rgr-grg-rgr.png
@@ -534,7 +524,6 @@ CSS-COLLIDING-SUPPORT-NAME: css/css-fonts/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/css-transforms/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/cssom-view/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/fonts/support/pattern-grg-rgr-grg.png
-CSS-COLLIDING-SUPPORT-NAME: css/css-regions/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/selectors/support/pattern-grg-rgr-grg.png
CSS-COLLIDING-SUPPORT-NAME: css/css-shapes/support/pattern-grg-rgr-grg.png
@@ -574,8 +563,6 @@ CSS-COLLIDING-REF-NAME: css/css-masking/clip-path/reference/clip-path-square-002
# Duplicate filename where there's no actual merging
# (i.e., we're being more aggressive than the build system at forbidding it)
-CSS-COLLIDING-REF-NAME: css/CSS2/positioning/position-relative-001-ref.xht
-CSS-COLLIDING-REF-NAME: css/css-regions/positioned-content/reference/position-relative-001-ref.html
CSS-COLLIDING-REF-NAME: css/CSS2/text/text-transform-lowercase-001-ref.xht
CSS-COLLIDING-REF-NAME: css/css-text/text-transform/reference/text-transform-lowercase-001-ref.xht
CSS-COLLIDING-REF-NAME: css/CSS2/text/text-transform-capitalize-003-ref.xht
@@ -678,7 +665,6 @@ MISSING-LINK: css/geometry/*.worker.js
MISSING-LINK: css/filter-effects/*.any.js
# Tests that use WebKit/Blink testing APIs
-LAYOUTTESTS APIS: css/css-regions/interactivity/*
LAYOUTTESTS APIS: import-maps/resources/jest-test-helper.js
LAYOUTTESTS APIS: import-maps/common/resources/common-test-helper.js
LAYOUTTESTS APIS: resources/chromium/generic_sensor_mocks.js
diff --git a/tests/wpt/web-platform-tests/loading/lazyload/original-crossorigin-applied-tentative.sub.html b/tests/wpt/web-platform-tests/loading/lazyload/original-crossorigin-applied-tentative.sub.html
index dc3cff783e1..34470b03525 100644
--- a/tests/wpt/web-platform-tests/loading/lazyload/original-crossorigin-applied-tentative.sub.html
+++ b/tests/wpt/web-platform-tests/loading/lazyload/original-crossorigin-applied-tentative.sub.html
@@ -32,7 +32,7 @@ Marked as tentative until https://github.com/whatwg/html/pull/3752 is landed.
canvas.width = img_element.width;
canvas.height = img_element.height;
context.drawImage(img_element, 0, 0);
- assert_throws('SecurityError', () => canvas.toDataURL());
+ assert_throws_dom('SecurityError', () => canvas.toDataURL());
})
).catch(t.unreached_func("The image load should not fail, trying to load with CORS headers set."));
}, "Test that when deferred image is loaded, it uses the crossorigin attribute specified at parse time.");
diff --git a/tests/wpt/web-platform-tests/longtask-timing/long-microtask.window.js b/tests/wpt/web-platform-tests/longtask-timing/long-microtask.window.js
index 7b7d1848f8c..9219fdb5c49 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/long-microtask.window.js
+++ b/tests/wpt/web-platform-tests/longtask-timing/long-microtask.window.js
@@ -1,8 +1,5 @@
async_test(function (t) {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
new PerformanceObserver(
t.step_func_done(entryList => {
const entries = entryList.getEntries();
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-attributes.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-attributes.html
index 8e0da824a87..24540d7c22f 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-attributes.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-attributes.html
@@ -10,10 +10,7 @@
<div id="log"></div>
<script>
async_test(function (t) {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
const observer = new PerformanceObserver(
t.step_func(function (entryList) {
const entries = entryList.getEntries();
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe-crossorigin.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe-crossorigin.html
index 149cf93e869..20a94a1eef4 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe-crossorigin.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe-crossorigin.html
@@ -10,10 +10,7 @@
<div id="log"></div>
<script>
async_test(function (t) {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
const observer = new PerformanceObserver(
t.step_func(function (entryList) {
const entries = entryList.getEntries();
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe.html
index 432ead57597..4feae7e55c1 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-childiframe.html
@@ -11,10 +11,7 @@
<script>
const initialTime = performance.now();
async_test(function (t) {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
const observer = new PerformanceObserver(
t.step_func(function (entryList) {
const entries = entryList.getEntries();
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-externalscript.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-externalscript.html
index 57c2d5650c0..db5c9db4a16 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-externalscript.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-externalscript.html
@@ -10,10 +10,7 @@
<div id="log"></div>
<script>
async_test(function (t) {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
const observer = new PerformanceObserver(
t.step_func(function (entryList) {
const entries = entryList.getEntries();
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-parentiframe.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-parentiframe.html
index 2da635467a2..c6b7e3e5838 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-parentiframe.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-parentiframe.html
@@ -8,10 +8,7 @@
<script>
const t = async_test(t => {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
window.addEventListener('message', t.step_func(e => {
assert_equals(e.data['entryType'], 'longtask');
assert_equals(e.data['frame-attribution'], 'same-origin-ancestor');
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-raf.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-raf.html
index 88ad2ef9892..110ae751ee3 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-raf.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-raf.html
@@ -10,10 +10,7 @@
<div id="log"></div>
<script>
async_test(function (t) {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
const observer = new PerformanceObserver(
t.step_func(function (entryList) {
const entries = entryList.getEntries();
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe-crossorigin.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe-crossorigin.html
index 653556333a1..ba9c7170626 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe-crossorigin.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe-crossorigin.html
@@ -8,10 +8,7 @@
<script>
async_test(t => {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
window.addEventListener('message', t.step_func(e => {
assert_equals(e.data['entryType'], 'longtask');
assert_equals(e.data['frame-attribution'], 'cross-origin-unreachable');
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe.html
index 280d387654b..8f530fab069 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-in-sibling-iframe.html
@@ -8,10 +8,7 @@
<script>
async_test(t => {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
window.addEventListener('message', t.step_func(e => {
assert_equals(e.data['entryType'], 'longtask');
// Ignore any long task that may be produced by the top-level frame.
diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-tojson.html b/tests/wpt/web-platform-tests/longtask-timing/longtask-tojson.html
index 20a97a16b04..6574b62d348 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/longtask-tojson.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-tojson.html
@@ -7,10 +7,7 @@
<body>
<script>
async_test(function (t) {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
const observer = new PerformanceObserver(
t.step_func(function (entryList) {
const entries = entryList.getEntries();
@@ -74,4 +71,4 @@
}, 'Test toJSON() in PerformanceLongTaskTiming and TaskAttributionTiming');
</script>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/longtask-timing/shared-renderer/longtask-in-new-window.html b/tests/wpt/web-platform-tests/longtask-timing/shared-renderer/longtask-in-new-window.html
index 3a68d1451a5..18d36b1e734 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/shared-renderer/longtask-in-new-window.html
+++ b/tests/wpt/web-platform-tests/longtask-timing/shared-renderer/longtask-in-new-window.html
@@ -11,10 +11,7 @@
This window opens a new window which contains a longtask. We test that the
longtask from the new window is not observed by the observer of this window. */
async_test(t => {
- if (typeof PerformanceLongTaskTiming === 'undefined') {
- assert_unreached("Longtasks are not supported.");
- t.done();
- }
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
const observer = new PerformanceObserver(
t.step_func(function (entryList) {
const entries = entryList.getEntries();
diff --git a/tests/wpt/web-platform-tests/longtask-timing/supported-longtask-types.window.js b/tests/wpt/web-platform-tests/longtask-timing/supported-longtask-types.window.js
index 3c68c01d32d..aaa6415a8d3 100644
--- a/tests/wpt/web-platform-tests/longtask-timing/supported-longtask-types.window.js
+++ b/tests/wpt/web-platform-tests/longtask-timing/supported-longtask-types.window.js
@@ -1,6 +1,5 @@
test(() => {
- if (typeof PerformanceObserver.supportedEntryTypes === "undefined")
- assert_unreached("supportedEntryTypes is not supported.");
+ assert_precondition(typeof PerformanceObserver.supportedEntryTypes !== "undefined", 'supportedEntryTypes is not supported');
const types = PerformanceObserver.supportedEntryTypes;
assert_true(types.includes("longtask"),
"There should be 'longtask' in PerformanceObserver.supportedEntryTypes");
@@ -20,19 +19,17 @@ function syncWait(waitDuration) {
return syncWait(waitDuration - (performance.now() - startTime));
}
-if (typeof PerformanceObserver.supportedEntryTypes !== "undefined") {
- const entryType = "longtask";
- if (PerformanceObserver.supportedEntryTypes.includes(entryType)) {
- promise_test(async () => {
- await new Promise((resolve) => {
- new PerformanceObserver(function (list, observer) {
- observer.disconnect();
- resolve();
- }).observe({entryTypes: [entryType]});
+const entryType = "longtask";
+promise_test(async () => {
+ assert_precondition(typeof PerformanceObserver.supportedEntryTypes !== "undefined", 'supportedEntryTypes is not supported');
+ assert_precondition(typeof PerformanceObserver.supportedEntryTypes.includes(entryType), `supportedEntryTypes does not include '${entryType}'`);
+ await new Promise((resolve) => {
+ new PerformanceObserver(function (list, observer) {
+ observer.disconnect();
+ resolve();
+ }).observe({entryTypes: [entryType]});
- // Force the PerformanceEntry.
- syncWait(50);
- })
- }, `'${entryType}' entries should be observable.`)
- }
-}
+ // Force the PerformanceEntry.
+ syncWait(50);
+ })
+}, `'${entryType}' entries should be observable.`)
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html
new file mode 100644
index 00000000000..ed30edde962
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>space and vertical-align (reference)</title>
+</head>
+<body>
+ <p>Test passes if you see a green square.</p>
+ <div style="position: relative;">
+ <div style="position: absolute; top: 0px; left: 0px;
+ background: green; width: 100px; height: 100px;">
+ </div>
+ </div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html
new file mode 100644
index 00000000000..31fae695da7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>space and vertical-align</title>
+<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#space-mspace">
+<link rel="match" href="space-vertical-align.tentative-ref.html"/>
+<meta name="assert" content="Verify that vertical-align property has no effect on mspace">
+</head>
+<body>
+ <p>Test passes if you see a green square.</p>
+ <div style="position: relative;">
+ <div style="position: absolute; top: 0px; left: 0px;
+ width: 200px; height: 200px;">
+ <math style="position: absolute; top: 0px; left: 0px">
+ <mspace width="50px" height="100px" style="background: green;vertical-align:50px"/>
+ <mspace width="50px" height="100px" style="background: green;vertical-align:50%"/>
+ </math>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html
index 159ee60a2d0..5942379d08e 100644
--- a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html
+++ b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html
@@ -53,7 +53,7 @@ function mediaTest(file, mime) {
'mediaSource.readyState is "ended" after endOfStream()');
});
mediaSource.addEventListener('sourceended', t.step_func_done(function(e) {
- assert_throws({name: 'InvalidStateError'}, function() {
+ assert_throws_dom('InvalidStateError', function() {
sourceBuffer.abort();
});
}));
diff --git a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html
index 00d65c133b0..c96412d0630 100644
--- a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html
+++ b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html
@@ -32,7 +32,7 @@ function mediaTest(mime) {
mediaSource.addEventListener('sourceopen', t.step_func_done(function(e) {
var sourceBuffer = mediaSource.addSourceBuffer(mime);
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws({name: 'InvalidStateError'},
+ assert_throws_dom('InvalidStateError',
function() {
sourceBuffer.abort();
},
diff --git a/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html
index a4177dd846b..f2f973a776e 100644
--- a/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html
+++ b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html
@@ -10,7 +10,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
window.URL.createObjectURL(null);
});
}, "URL.createObjectURL(null)");
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html
index 6ada1228490..a95155aefc2 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html
@@ -13,7 +13,7 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
mediaSource.endOfStream();
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE); },
"addSourceBuffer() threw an exception when in 'ended' state.");
test.done();
@@ -29,7 +29,7 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
function() { mediaSource.addSourceBuffer(null); },
"addSourceBuffer() threw an exception when passed null.");
test.done();
@@ -37,7 +37,7 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
function() { mediaSource.addSourceBuffer("invalidType"); },
"addSourceBuffer() threw an exception for an unsupported type.");
test.done();
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html
index a742ea3916b..750ccaf456f 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html
@@ -40,7 +40,7 @@
assert_true(sourceBuffer.updating, "updating attribute is true");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.appendBuffer(mediaData); },
"appendBuffer() throws an exception there is a pending append.");
@@ -172,7 +172,7 @@
assert_false(sourceBuffer.updating, "updating attribute is false");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.appendBuffer(mediaData); },
"appendBuffer() throws an exception because it isn't attached to the mediaSource anymore.");
@@ -193,7 +193,7 @@
assert_true(sourceBuffer.updating, "updating attribute is true");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.duration = 1.0; },
"set duration throws an exception when updating attribute is true.");
@@ -215,7 +215,7 @@
assert_true(sourceBuffer.updating, "updating attribute is true");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.endOfStream(); },
"endOfStream() throws an exception when updating attribute is true.");
@@ -239,7 +239,7 @@
assert_true(sourceBuffer.updating, "updating attribute is true");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.timestampOffset = 10.0; },
"set timestampOffset throws an exception when updating attribute is true.");
@@ -502,7 +502,7 @@
mediaSource.removeSourceBuffer(sourceBuffer);
test.waitForExpectedEvents(function()
{
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.abort(); },
"sourceBuffer.abort() throws an exception for InvalidStateError.");
@@ -536,7 +536,7 @@
test.waitForExpectedEvents(function()
{
assert_equals(mediaSource.readyState, "ended", "readyState is ended.");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.abort(); },
"sourceBuffer.abort() throws an exception for InvalidStateError.");
test.done();
@@ -571,7 +571,7 @@
test.expectEvent(sourceBuffer, "update", "Append success.");
test.expectEvent(sourceBuffer, "updateend", "Append ended.");
- assert_throws( { name: "TypeError"} ,
+ assert_throws_js( TypeError,
function() { sourceBuffer.appendBuffer(null); },
"appendBuffer(null) throws an exception.");
test.done();
@@ -581,7 +581,7 @@
{
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws( { name: "InvalidStateError"} ,
+ assert_throws_dom( "InvalidStateError",
function() { sourceBuffer.appendBuffer(mediaData); },
"appendBuffer() throws an exception when called after removeSourceBuffer().");
test.done();
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html b/tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html
index aebbee418df..9add6340804 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html
@@ -114,11 +114,11 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.appendWindowStart = 100.0; },
"set appendWindowStart throws an exception when mediasource object is not associated with a buffer.");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.appendWindowEnd = 500.0; },
"set appendWindowEnd throws an exception when mediasource object is not associated with a buffer.");
test.done();
@@ -131,11 +131,11 @@
sourceBuffer.appendBuffer(mediaData);
assert_true(sourceBuffer.updating, "updating attribute is true");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.appendWindowStart = 100.0; },
"set appendWindowStart throws an exception when there is a pending append.");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.appendWindowEnd = 500.0; },
"set appendWindowEnd throws an exception when there is a pending append.");
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html b/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html
index 38cd1717eb2..7015fc6b61a 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html
@@ -222,7 +222,7 @@
test.waitForExpectedEvents(function()
{
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.buffered; },
"get sourceBuffer.buffered throws an exception for InvalidStateError.");
test.done();
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-changetype.html b/tests/wpt/web-platform-tests/media-source/mediasource-changetype.html
index 8ce821d08f1..25618cdc1ec 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-changetype.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-changetype.html
@@ -29,7 +29,7 @@ mediasource_test(function(test, mediaElement, mediaSource)
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws("InvalidStateError", function()
+ assert_throws_dom("InvalidStateError", function()
{
sourceBuffer.changeType(MediaSourceUtil.AUDIO_VIDEO_TYPE);
}, "changeType");
@@ -43,7 +43,7 @@ mediasource_test(function(test, mediaElement, mediaSource)
sourceBuffer.appendBuffer(new Uint8Array(0));
assert_true(sourceBuffer.updating, "Updating flag set when a buffer is appended.");
- assert_throws("InvalidStateError", function()
+ assert_throws_dom("InvalidStateError", function()
{
sourceBuffer.changeType(MediaSourceUtil.AUDIO_VIDEO_TYPE);
}, "changeType");
@@ -58,7 +58,7 @@ mediasource_test(function(test, mediaElement, mediaSource)
var unsupported_type = null;
assert_false(MediaSource.isTypeSupported(unsupported_type), "null MIME type is not expected to be supported.");
- assert_throws("NotSupportedError", function()
+ assert_throws_dom("NotSupportedError", function()
{
sourceBuffer.changeType(unsupported_type);
}, "changeType");
@@ -73,7 +73,7 @@ mediasource_test(function(test, mediaElement, mediaSource)
var unsupported_type = 'invalidType';
assert_false(MediaSource.isTypeSupported(unsupported_type), unsupported_type + " is not expected to be supported.");
- assert_throws("NotSupportedError", function()
+ assert_throws_dom("NotSupportedError", function()
{
sourceBuffer.changeType(unsupported_type);
}, "changeType");
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-closed.html b/tests/wpt/web-platform-tests/media-source/mediasource-closed.html
index 4b22cae8544..79d522f2f9a 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-closed.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-closed.html
@@ -22,7 +22,7 @@
test(function ()
{
var mediaSource = new MediaSource();
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE); },
"addSourceBuffer() throws an exception when closed.");
}, "Test addSourceBuffer() while closed.");
@@ -37,7 +37,7 @@
assert_equals(mediaSource.sourceBuffers.length, 0, "sourceBuffers is empty");
assert_equals(mediaSource.activeSourceBuffers.length, 0, "activeSourceBuffers is empty");
assert_equals(mediaSource.readyState, "closed", "readyState is 'closed'");
- assert_throws("NotFoundError",
+ assert_throws_dom("NotFoundError",
function() { mediaSource.removeSourceBuffer(sourceBuffer); },
"removeSourceBuffer() throws an exception when closed.");
test.done();
@@ -50,7 +50,7 @@
test(function ()
{
var mediaSource = new MediaSource();
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.endOfStream(); },
"endOfStream() throws an exception when closed.");
}, "Test endOfStream() while closed.");
@@ -58,7 +58,7 @@
test(function ()
{
var mediaSource = new MediaSource();
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.endOfStream("decode"); },
"endOfStream(decode) throws an exception when closed.");
}, "Test endOfStream(decode) while closed.");
@@ -66,7 +66,7 @@
test(function ()
{
var mediaSource = new MediaSource();
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.endOfStream("network"); },
"endOfStream(network) throws an exception when closed.");
}, "Test endOfStream(network) while closed.");
@@ -74,7 +74,7 @@
test(function ()
{
var mediaSource = new MediaSource();
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.duration = 10; },
"Setting duration throws an exception when closed.");
}, "Test setting duration while closed.");
@@ -88,7 +88,7 @@
mediaSource.addEventListener("sourceclose", test.step_func(function (event)
{
assert_equals(mediaSource.readyState, "closed", "readyState is 'closed'");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { mediaSource.duration = 10; },
"Setting duration when closed throws an exception");
test.done();
@@ -125,7 +125,7 @@
mediaSource.addEventListener("sourceclose", test.step_func(function (event)
{
assert_equals(mediaSource.readyState, "closed", "readyState is closed");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.abort(); },
"sourceBuffer.abort() throws INVALID_STATE_ERROR");
test.done();
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-duration.html b/tests/wpt/web-platform-tests/media-source/mediasource-duration.html
index 4bc0fb2d74c..b4619da38b9 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-duration.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-duration.html
@@ -265,7 +265,7 @@
{
assert_false(sourceBuffer.updating, "updating");
- assert_throws("InvalidStateError", function()
+ assert_throws_dom("InvalidStateError", function()
{
mediaSource.duration = newDuration;
}, "duration");
@@ -301,7 +301,7 @@
assert_equals(sourceBufferVideo.buffered.length, 1);
assert_less_than(sourceBufferAudio.buffered.start(0), newDuration);
assert_greater_than(sourceBufferVideo.buffered.start(0), newDuration);
- assert_throws("InvalidStateError", function () { mediaSource.duration = newDuration; });
+ assert_throws_dom("InvalidStateError", function () { mediaSource.duration = newDuration; });
test.done();
});
});
@@ -345,7 +345,7 @@
// Verify the expected error
// We assume relocated test video has at least one coded
// frame presentation interval which fits in [>2.0,>2.5)
- assert_throws("InvalidStateError", function () { mediaSource.duration = newDuration; });
+ assert_throws_dom("InvalidStateError", function () { mediaSource.duration = newDuration; });
test.done();
});
});
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html b/tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html
index 0327e44cc0d..20a118d7171 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html
@@ -15,7 +15,7 @@
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
assert_equals(mediaSource.readyState, 'open');
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { mediaSource.endOfStream('garbage'); },
'endOfStream(\'garbage\') throws TypeError');
@@ -28,7 +28,7 @@
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
assert_equals(mediaSource.readyState, 'open');
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { mediaSource.endOfStream(''); },
'endOfStream(\'\') throws TypeError');
@@ -41,7 +41,7 @@
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
assert_equals(mediaSource.readyState, 'open');
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { mediaSource.endOfStream(null); },
'endOfStream(null) throws TypeError');
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-liveseekable.html b/tests/wpt/web-platform-tests/media-source/mediasource-liveseekable.html
index 3e79a114026..123a41e9e54 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-liveseekable.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-liveseekable.html
@@ -10,7 +10,7 @@ test(function(test)
{
var mediaSource = new MediaSource();
assert_equals(mediaSource.readyState, "closed", "media source is closed.");
- assert_throws("InvalidStateError", function() { mediaSource.setLiveSeekableRange(0, 1); });
+ assert_throws_dom("InvalidStateError", function() { mediaSource.setLiveSeekableRange(0, 1); });
}, "setLiveSeekableRange throws an InvalidStateError exception if the readyState attribute is not 'open'");
@@ -18,7 +18,7 @@ test(function(test)
{
var mediaSource = new MediaSource();
assert_equals(mediaSource.readyState, "closed", "media source is closed.");
- assert_throws("InvalidStateError", function() { mediaSource.clearLiveSeekableRange(); });
+ assert_throws_dom("InvalidStateError", function() { mediaSource.clearLiveSeekableRange(); });
}, "clearLiveSeekableRange throws an InvalidStateError exception if the readyState attribute is not 'open'");
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-remove.html b/tests/wpt/web-platform-tests/media-source/mediasource-remove.html
index 454178709f9..6fea5a3e2e5 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-remove.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-remove.html
@@ -106,7 +106,7 @@
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws("InvalidStateError", function()
+ assert_throws_dom("InvalidStateError", function()
{
sourceBuffer.remove(1, 2);
}, "remove");
@@ -142,7 +142,7 @@
assert_true(sourceBuffer.updating, "updating");
- assert_throws("InvalidStateError", function()
+ assert_throws_dom("InvalidStateError", function()
{
sourceBuffer.remove(3, 4);
}, "remove");
@@ -166,7 +166,7 @@
assert_true(sourceBuffer.updating, "updating");
- assert_throws("InvalidStateError", function()
+ assert_throws_dom("InvalidStateError", function()
{
sourceBuffer.abort();
}, "abort");
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html
index 0388565329f..30ec930cbed 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html
@@ -27,7 +27,7 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { mediaSource.removeSourceBuffer(null); },
"removeSourceBuffer() threw an exception when passed null.");
test.done();
@@ -40,7 +40,7 @@
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws("NotFoundError",
+ assert_throws_dom("NotFoundError",
function() { mediaSource.removeSourceBuffer(sourceBuffer); },
"removeSourceBuffer() threw an exception for a SourceBuffer that was already removed.");
@@ -70,10 +70,10 @@
assert_not_equals(sourceBuffer1, sourceBuffer2, "SourceBuffers are different instances");
assert_equals(mediaSource1.sourceBuffers[0], sourceBuffer1);
assert_equals(mediaSource2.sourceBuffers[0], sourceBuffer2);
- assert_throws("NotFoundError",
+ assert_throws_dom("NotFoundError",
function() { mediaSource1.removeSourceBuffer(sourceBuffer2); },
"MediaSource1.removeSourceBuffer() threw an exception for SourceBuffer2");
- assert_throws("NotFoundError",
+ assert_throws_dom("NotFoundError",
function() { mediaSource2.removeSourceBuffer(sourceBuffer1); },
"MediaSource2.removeSourceBuffer() threw an exception for SourceBuffer1");
mediaSource1.removeSourceBuffer(sourceBuffer1);
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps.html b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps.html
index c5816968b07..c62e5421622 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps.html
@@ -32,7 +32,7 @@ function mediaTest(mime) {
mediaSource.addEventListener('sourceopen', t.step_func_done(function(e) {
var sourceBuffer = mediaSource.addSourceBuffer(mime);
assert_equals(sourceBuffer.updating, false, "SourceBuffer.updating is false");
- assert_throws({name: 'TypeError'},
+ assert_throws_js(TypeError,
function() {
sourceBuffer.mode = "segments";
},
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html
index 521fa7f92af..2d84fa9753c 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html
@@ -37,7 +37,7 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { sourceBuffer.mode = 'segments'; },
'Setting valid sourceBuffer.mode on removed SourceBuffer should throw InvalidStateError.');
test.done();
@@ -47,7 +47,7 @@
{
sourceBuffer.appendBuffer(mediaData);
assert_true(sourceBuffer.updating, 'updating attribute is true');
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { sourceBuffer.mode = 'segments'; },
'Setting valid sourceBuffer.mode on updating SourceBuffer threw InvalidStateError.');
test.done();
@@ -114,11 +114,11 @@
{
assert_false(sourceBuffer.updating, 'updating attribute is false');
assert_equals(sourceBuffer.mode, 'segments');
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { sourceBuffer.mode = 'segments'; },
'Setting valid sourceBuffer.mode while still parsing media segment threw InvalidStateError.');
assert_equals(sourceBuffer.timestampOffset, 10.123456789);
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
function() { sourceBuffer.timestampOffset = 20.0; },
'Setting valid sourceBuffer.timestampOffset while still parsing media segment threw InvalidStateError.');
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html
index 0eb9d2643af..905d1d0d0ee 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html
@@ -43,7 +43,7 @@
sourceBufferTrackDefaultsTest(function(test, mediaElement, mediaSource, sourceBuffer)
{
mediaSource.removeSourceBuffer(sourceBuffer);
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.trackDefaults = new TrackDefaultList([]); },
"Exception thrown when setting trackDefaults on SourceBuffer that is removed from MediaSource");
test.done();
@@ -56,7 +56,7 @@
sourceBuffer.appendBuffer(mediaData);
assert_true(sourceBuffer.updating, "SourceBuffer is updating");
- assert_throws("InvalidStateError",
+ assert_throws_dom("InvalidStateError",
function() { sourceBuffer.trackDefaults = new TrackDefaultList([]); },
"Exception thrown when setting trackDefaults on SourceBuffer that is updating");
@@ -70,7 +70,7 @@
sourceBufferTrackDefaultsTest(function(test, mediaElement, mediaSource, sourceBuffer)
{
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { sourceBuffer.trackDefaults = null; },
"null should be disallowed by trackDefaults setter");
test.done();
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html b/tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html
index 22e42928683..05495b71920 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html
@@ -21,7 +21,7 @@
"Initial timestampOffset of a SourceBuffer is 0");
if (expected == "TypeError") {
- assert_throws({name: "TypeError"},
+ assert_throws_js(TypeError,
function() { sourceBuffer.timestampOffset = value; },
"setting timestampOffset to " + description + " throws an exception.");
} else {
@@ -113,7 +113,7 @@
assert_true(mediaSource.sourceBuffers.length == 0, "MediaSource.sourceBuffers is empty");
assert_true(mediaSource.activeSourceBuffers.length == 0, "MediaSource.activesourceBuffers is empty");
- assert_throws("InvalidStateError", function()
+ assert_throws_dom("InvalidStateError", function()
{
sourceBuffer.timestampOffset = 10;
});
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-trackdefault.html b/tests/wpt/web-platform-tests/media-source/mediasource-trackdefault.html
index 5fc2e5e97d6..e6c9e76ef91 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-trackdefault.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-trackdefault.html
@@ -16,7 +16,7 @@
function checkConstructionFails(type, language, label, kinds, byteStreamTrackID)
{
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { new TrackDefault(type, language, label, kinds, byteStreamTrackID); },
"TrackDefault construction threw an exception");
}
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-trackdefaultlist.html b/tests/wpt/web-platform-tests/media-source/mediasource-trackdefaultlist.html
index cceda8be460..940260cfd29 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-trackdefaultlist.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-trackdefaultlist.html
@@ -32,7 +32,7 @@
trackDefaults[4] = new TrackDefault("audio", "en-US", "label", ["main"], "");
assert_equals(trackDefaults[0].type, trackDefaults[4].type, "same-type conflict setup");
assert_equals(trackDefaults[0].byteStreamTrackID, trackDefaults[4].byteStreamTrackID, "same-byteStreamTrackID conflict setup");
- assert_throws("InvalidAccessError",
+ assert_throws_dom("InvalidAccessError",
function() { new TrackDefaultList(trackDefaults); },
"TrackDefaultList construction should throw exception due to same type and byteStreamTrackID across at least 2 items in trackDefaults");
@@ -40,7 +40,7 @@
trackDefaults[4] = new TrackDefault("video", "en-US", "label", ["main"], "1");
assert_equals(trackDefaults[4].type, trackDefaults[5].type, "same-type conflict setup");
assert_equals(trackDefaults[4].byteStreamTrackID, trackDefaults[5].byteStreamTrackID, "same-byteStreamTrackID conflict setup");
- assert_throws("InvalidAccessError",
+ assert_throws_dom("InvalidAccessError",
function() { new TrackDefaultList(trackDefaults); },
"TrackDefaultList construction should throw exception due to same type and byteStreamTrackID across at least 2 items in trackDefaults");
diff --git a/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-creation.https.html b/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-creation.https.html
index 387dceee37a..e53915608f0 100644
--- a/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-creation.https.html
+++ b/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-creation.https.html
@@ -61,7 +61,7 @@ var testAudio = async_test(function() {
this.step_func(function(stream) {
assert_equals(stream.getAudioTracks().length, 1);
assert_equals(stream.getVideoTracks().length, 0);
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
function() {
var capturer = new ImageCapture(stream.getAudioTracks()[0]);
},
@@ -82,11 +82,11 @@ var testParameter = test(function() {
"",
true
];
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { var capturer = new ImageCapture(); },
'an ImageCapturer can not be created with no parameter');
invalidParameters.map(parameter => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { var capturer = new ImageCapture(parameter); },
`an ImageCapturer can not be created with a ${parameter} parameter`);
});
diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html
index 7852ee3a7c1..4daf2d9cd1a 100644
--- a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html
+++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html
@@ -76,7 +76,7 @@
let recorder = new MediaRecorder(video);
recorder.start();
assert_equals(recorder.state, "recording", "MediaRecorder has been started successfully");
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
recorder.start();
});
}, "MediaRecorder cannot start recording when MediaRecorder' state is not inactive and an InvalidStateError should be thrown");
diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
index cddc07e5079..5dca350dd27 100644
--- a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
+++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
@@ -45,11 +45,11 @@
recorder.onstop = recorderOnUnexpectedEvent;
recorder.stop();
assert_equals(recorder.state, "inactive", "stop() is idempotent");
- assert_throws("InvalidStateError", function() { recorder.pause() },
+ assert_throws_dom("InvalidStateError", function() { recorder.pause() },
"recorder cannot be pause()ed in |inactive| state");
- assert_throws("InvalidStateError", function() { recorder.resume() },
+ assert_throws_dom("InvalidStateError", function() { recorder.resume() },
"recorder cannot be resume()d in |inactive| state");
- assert_throws("InvalidStateError", function() { recorder.requestData() },
+ assert_throws_dom("InvalidStateError", function() { recorder.requestData() },
"cannot requestData() if recorder is in |inactive| state");
test.done();
});
@@ -80,7 +80,7 @@
assert_equals(stream.getVideoTracks().length, 1);
assert_equals(stream.getVideoTracks()[0].readyState, 'live');
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
function() {
recorder = new MediaRecorder(
new MediaStream(), {mimeType : "video/invalid"});
@@ -91,14 +91,14 @@
recorder.stop();
assert_equals(recorder.state, "inactive", "stop() is idempotent");
- assert_throws("InvalidStateError", function(){recorder.pause()},
+ assert_throws_dom("InvalidStateError", function(){recorder.pause()},
"recorder cannot be pause()ed in |inactive| state");
- assert_throws("InvalidStateError", function(){recorder.resume()},
+ assert_throws_dom("InvalidStateError", function(){recorder.resume()},
"recorder cannot be resume()d in |inactive| state");
- assert_throws("InvalidStateError", function(){recorder.requestData()},
+ assert_throws_dom("InvalidStateError", function(){recorder.requestData()},
"cannot requestData() if recorder is in |inactive| state");
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
function() {
recorder.start();
},
diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html
index 06841aea9e6..8b98977dda2 100644
--- a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html
+++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html
@@ -64,7 +64,7 @@ test(t => {
}, "MediaRecorder sets no default mimeType in the constructor for audio/video");
test(t => {
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
() => new MediaRecorder(new MediaStream(), {mimeType: "audio/banana"}));
}, "MediaRecorder invalid audio mimeType throws");
@@ -73,7 +73,7 @@ test(t => {
}, "MediaRecorder invalid audio mimeType is unsupported");
test(t => {
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
() => new MediaRecorder(new MediaStream(), {mimeType: "video/pineapple"}));
}, "MediaRecorder invalid video mimeType throws");
@@ -108,7 +108,7 @@ for (const mimeType of [
}, `Supported mimeType ${mimeType} is set immediately after constructing`);
} else {
test(t => {
- assert_throws("NotSupportedError",
+ assert_throws_dom("NotSupportedError",
() => new MediaRecorder(new MediaStream(), {mimeType}));
}, `Unsupported mimeType ${mimeType} throws`);
}
diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
index bda5d871d04..bb39b027f0f 100644
--- a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
+++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
@@ -83,7 +83,7 @@
promise_test(async t => {
const recorder = new MediaRecorder(createVideoStream());
- assert_throws("InvalidStateError", () => { recorder.stop(); });
+ assert_throws_dom("InvalidStateError", () => { recorder.stop(); });
await Promise.race([
new Promise((_, reject) => recorder.onstop =
_ => reject(new Error("onstop should never have been called"))),
@@ -95,7 +95,7 @@
recorder.start();
recorder.stop();
let event = await new Promise(r => recorder.onstop = r);
- assert_throws("InvalidStateError", () => { recorder.stop(); });
+ assert_throws_dom("InvalidStateError", () => { recorder.stop(); });
await Promise.race([
new Promise((_, reject) => recorder.onstop =
_ => reject(new Error("onstop should never have been called"))),
@@ -108,7 +108,7 @@
recorder.start();
stream.getVideoTracks()[0].stop();
let event = await new Promise(r => recorder.onstop = r);
- assert_throws("InvalidStateError", () => { recorder.stop(); });
+ assert_throws_dom("InvalidStateError", () => { recorder.stop(); });
await Promise.race([
new Promise((_, reject) => recorder.onstop =
_ => reject(new Error("onstop should never have been called"))),
diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/historical.https.html b/tests/wpt/web-platform-tests/mediacapture-streams/historical.https.html
index 9437c51552a..84326cec0a6 100644
--- a/tests/wpt/web-platform-tests/mediacapture-streams/historical.https.html
+++ b/tests/wpt/web-platform-tests/mediacapture-streams/historical.https.html
@@ -18,7 +18,7 @@ test(function() {
test(() => {
const mediaStream = new MediaStream();
- assert_throws(new TypeError(), () => URL.createObjectURL(mediaStream));
+ assert_throws_js(TypeError, () => URL.createObjectURL(mediaStream));
}, "Passing MediaStream to URL.createObjectURL() should throw");
test(() => {
diff --git a/tests/wpt/web-platform-tests/mediasession/mediametadata.html b/tests/wpt/web-platform-tests/mediasession/mediametadata.html
index 11f6a5f9767..ff00e54ee7c 100644
--- a/tests/wpt/web-platform-tests/mediasession/mediametadata.html
+++ b/tests/wpt/web-platform-tests/mediasession/mediametadata.html
@@ -38,8 +38,8 @@ test(function() {
var metadata = new MediaMetadata({});
assert_not_equals(metadata, null);
- assert_throws(new TypeError(), _ => new MediaMetadata('foobar'));
- assert_throws(new TypeError(), _ => new MediaMetadata(42));
+ assert_throws_js(TypeError, _ => new MediaMetadata('foobar'));
+ assert_throws_js(TypeError, _ => new MediaMetadata(42));
}, 'Test that MediaMetadata is constructed using a dictionary');
test(function() {
@@ -113,7 +113,7 @@ test(function() {
test(function() {
var metadata = new MediaMetadata({ artwork: [ { src: 'http://foo.com/' } ] });
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
metadata.artwork.push({
src: 'http://example.com/', sizes: '40x40', type: 'image/png',
});
@@ -163,14 +163,14 @@ test(function() {
test(function() {
var metadata = 42;
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
metadata
new MediaMetadata({ artwork: [ { src: 'http://[example.com]' }] });
});
assert_equals(metadata, 42);
metadata = new MediaMetadata();
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
metadata.artwork = [
// Valid url.
{ src: 'http://example.com' },
@@ -189,12 +189,12 @@ test(function() {
}, "Test MediaImage default values");
test(function() {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
new MediaMetadata({ artwork: [ {} ] });
});
var metadata = new MediaMetadata();
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
metadata.artwork = [ { type: 'image/png', sizes: '40x40' } ];
});
}, "Test that MediaImage.src is required")
diff --git a/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js b/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js
index 640a46b9e98..ae396c4f095 100644
--- a/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js
+++ b/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js
@@ -34,8 +34,8 @@ function runTests(tests) {
promise_test(() => {
const compatibleNess = isByteCompatible(val.input);
if(compatibleNess === "incompatible" || compatibleNess === "header-value-incompatible") {
- assert_throws(new TypeError(), () => new Request("about:blank", { headers: [["Content-Type", val.input]] }));
- assert_throws(new TypeError(), () => new Response(null, { headers: [["Content-Type", val.input]] }));
+ assert_throws_js(TypeError, () => new Request("about:blank", { headers: [["Content-Type", val.input]] }));
+ assert_throws_js(TypeError, () => new Response(null, { headers: [["Content-Type", val.input]] }));
return Promise.resolve();
} else {
return Promise.all([
diff --git a/tests/wpt/web-platform-tests/native-file-system/native_FileSystemBaseHandle-postMessage-MessagePort-manual.https.tentative.html b/tests/wpt/web-platform-tests/native-file-system/native_FileSystemBaseHandle-postMessage-MessagePort-manual.https.tentative.html
index 4b575766881..c78b766dab9 100644
--- a/tests/wpt/web-platform-tests/native-file-system/native_FileSystemBaseHandle-postMessage-MessagePort-manual.https.tentative.html
+++ b/tests/wpt/web-platform-tests/native-file-system/native_FileSystemBaseHandle-postMessage-MessagePort-manual.https.tentative.html
@@ -1,5 +1,6 @@
<!doctype html>
<meta charset=utf-8>
+<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
diff --git a/tests/wpt/web-platform-tests/native-file-system/sandboxed_FileSystemBaseHandle-postMessage-MessagePort.tentative.https.window.js b/tests/wpt/web-platform-tests/native-file-system/sandboxed_FileSystemBaseHandle-postMessage-MessagePort.tentative.https.window.js
index 043c6b39262..e64e6446399 100644
--- a/tests/wpt/web-platform-tests/native-file-system/sandboxed_FileSystemBaseHandle-postMessage-MessagePort.tentative.https.window.js
+++ b/tests/wpt/web-platform-tests/native-file-system/sandboxed_FileSystemBaseHandle-postMessage-MessagePort.tentative.https.window.js
@@ -4,4 +4,5 @@
// META: script=resources/messaging-helpers.js
// META: script=resources/messaging-blob-helpers.js
// META: script=resources/messaging-serialize-helpers.js
-// META: script=script-tests/FileSystemBaseHandle-postMessage-MessagePort.js \ No newline at end of file
+// META: script=script-tests/FileSystemBaseHandle-postMessage-MessagePort.js
+// META: timeout=long
diff --git a/tests/wpt/web-platform-tests/notifications/constructor-invalid.html b/tests/wpt/web-platform-tests/notifications/constructor-invalid.html
index 88df165e169..1995ccc4f5f 100644
--- a/tests/wpt/web-platform-tests/notifications/constructor-invalid.html
+++ b/tests/wpt/web-platform-tests/notifications/constructor-invalid.html
@@ -12,7 +12,7 @@ test(function() {
this.set_status(this.NOTRUN, "You must allow notifications for this"
+ " origin before running this test.")
}
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new Notification()
})
}, "Called the notification constructor with no arguments.")
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.html b/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.html
index 4c810495c8f..77d35fdbf4e 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.html
@@ -20,102 +20,102 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.scale(); });
-assert_throws(new TypeError(), function() { ctx.scale(1); });
-assert_throws(new TypeError(), function() { ctx.rotate(); });
-assert_throws(new TypeError(), function() { ctx.translate(); });
-assert_throws(new TypeError(), function() { ctx.translate(0); });
+assert_throws_js(TypeError, function() { ctx.scale(); });
+assert_throws_js(TypeError, function() { ctx.scale(1); });
+assert_throws_js(TypeError, function() { ctx.rotate(); });
+assert_throws_js(TypeError, function() { ctx.translate(); });
+assert_throws_js(TypeError, function() { ctx.translate(0); });
if (ctx.transform) { // (avoid spurious failures, since the aim here is not to test that all features are supported)
- assert_throws(new TypeError(), function() { ctx.transform(); });
- assert_throws(new TypeError(), function() { ctx.transform(1); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(); });
+ assert_throws_js(TypeError, function() { ctx.transform(1); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0, 1, 0); });
}
if (ctx.setTransform) {
- assert_throws(new TypeError(), function() { ctx.setTransform(1); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0, 1, 0); });
}
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.createPattern(offscreenCanvas); });
-assert_throws(new TypeError(), function() { ctx.clearRect(); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.moveTo(); });
-assert_throws(new TypeError(), function() { ctx.moveTo(0); });
-assert_throws(new TypeError(), function() { ctx.lineTo(); });
-assert_throws(new TypeError(), function() { ctx.lineTo(0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.rect(); });
-assert_throws(new TypeError(), function() { ctx.rect(0); });
-assert_throws(new TypeError(), function() { ctx.rect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.rect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arc(); });
-assert_throws(new TypeError(), function() { ctx.arc(0); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage(); });
-assert_throws(new TypeError(), function() { ctx.drawImage(offscreenCanvas); });
-assert_throws(new TypeError(), function() { ctx.drawImage(offscreenCanvas, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.createPattern(offscreenCanvas); });
+assert_throws_js(TypeError, function() { ctx.clearRect(); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.moveTo(); });
+assert_throws_js(TypeError, function() { ctx.moveTo(0); });
+assert_throws_js(TypeError, function() { ctx.lineTo(); });
+assert_throws_js(TypeError, function() { ctx.lineTo(0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.rect(); });
+assert_throws_js(TypeError, function() { ctx.rect(0); });
+assert_throws_js(TypeError, function() { ctx.rect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.rect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arc(); });
+assert_throws_js(TypeError, function() { ctx.arc(0); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(); });
+assert_throws_js(TypeError, function() { ctx.drawImage(offscreenCanvas); });
+assert_throws_js(TypeError, function() { ctx.drawImage(offscreenCanvas, 0); });
// TODO: n >= 3 args on drawImage could be either a valid overload,
// or too few for another overload, or too many for another
// overload - what should happen?
if (ctx.createImageData) {
- assert_throws(new TypeError(), function() { ctx.createImageData(); });
- assert_throws(new TypeError(), function() { ctx.createImageData(1); });
+ assert_throws_js(TypeError, function() { ctx.createImageData(); });
+ assert_throws_js(TypeError, function() { ctx.createImageData(1); });
}
if (ctx.getImageData) {
- assert_throws(new TypeError(), function() { ctx.getImageData(); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0, 0); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0, 0); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0, 0, 1); });
}
if (ctx.putImageData) {
var imgdata = ctx.getImageData(0, 0, 1, 1);
- assert_throws(new TypeError(), function() { ctx.putImageData(); });
- assert_throws(new TypeError(), function() { ctx.putImageData(imgdata); });
- assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 0); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(imgdata); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 0); });
}
var g = ctx.createLinearGradient(0, 0, 0, 0);
-assert_throws(new TypeError(), function() { g.addColorStop(); });
-assert_throws(new TypeError(), function() { g.addColorStop(0); });
+assert_throws_js(TypeError, function() { g.addColorStop(); });
+assert_throws_js(TypeError, function() { g.addColorStop(0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.worker.js
index b8bc127b877..0fc7c4d2bb5 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.worker.js
@@ -16,102 +16,102 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.scale(); });
-assert_throws(new TypeError(), function() { ctx.scale(1); });
-assert_throws(new TypeError(), function() { ctx.rotate(); });
-assert_throws(new TypeError(), function() { ctx.translate(); });
-assert_throws(new TypeError(), function() { ctx.translate(0); });
+assert_throws_js(TypeError, function() { ctx.scale(); });
+assert_throws_js(TypeError, function() { ctx.scale(1); });
+assert_throws_js(TypeError, function() { ctx.rotate(); });
+assert_throws_js(TypeError, function() { ctx.translate(); });
+assert_throws_js(TypeError, function() { ctx.translate(0); });
if (ctx.transform) { // (avoid spurious failures, since the aim here is not to test that all features are supported)
- assert_throws(new TypeError(), function() { ctx.transform(); });
- assert_throws(new TypeError(), function() { ctx.transform(1); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1); });
- assert_throws(new TypeError(), function() { ctx.transform(1, 0, 0, 1, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(); });
+ assert_throws_js(TypeError, function() { ctx.transform(1); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.transform(1, 0, 0, 1, 0); });
}
if (ctx.setTransform) {
- assert_throws(new TypeError(), function() { ctx.setTransform(1); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1); });
- assert_throws(new TypeError(), function() { ctx.setTransform(1, 0, 0, 1, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.setTransform(1, 0, 0, 1, 0); });
}
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.createPattern(offscreenCanvas); });
-assert_throws(new TypeError(), function() { ctx.clearRect(); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.clearRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.fillRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.strokeRect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.moveTo(); });
-assert_throws(new TypeError(), function() { ctx.moveTo(0); });
-assert_throws(new TypeError(), function() { ctx.lineTo(); });
-assert_throws(new TypeError(), function() { ctx.lineTo(0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.quadraticCurveTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.bezierCurveTo(0, 0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arcTo(0, 0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.rect(); });
-assert_throws(new TypeError(), function() { ctx.rect(0); });
-assert_throws(new TypeError(), function() { ctx.rect(0, 0); });
-assert_throws(new TypeError(), function() { ctx.rect(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.arc(); });
-assert_throws(new TypeError(), function() { ctx.arc(0); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.arc(0, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage(); });
-assert_throws(new TypeError(), function() { ctx.drawImage(offscreenCanvas); });
-assert_throws(new TypeError(), function() { ctx.drawImage(offscreenCanvas, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.createPattern(offscreenCanvas); });
+assert_throws_js(TypeError, function() { ctx.clearRect(); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.clearRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.fillRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.strokeRect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.moveTo(); });
+assert_throws_js(TypeError, function() { ctx.moveTo(0); });
+assert_throws_js(TypeError, function() { ctx.lineTo(); });
+assert_throws_js(TypeError, function() { ctx.lineTo(0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.quadraticCurveTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.bezierCurveTo(0, 0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arcTo(0, 0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.rect(); });
+assert_throws_js(TypeError, function() { ctx.rect(0); });
+assert_throws_js(TypeError, function() { ctx.rect(0, 0); });
+assert_throws_js(TypeError, function() { ctx.rect(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.arc(); });
+assert_throws_js(TypeError, function() { ctx.arc(0); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.arc(0, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(); });
+assert_throws_js(TypeError, function() { ctx.drawImage(offscreenCanvas); });
+assert_throws_js(TypeError, function() { ctx.drawImage(offscreenCanvas, 0); });
// TODO: n >= 3 args on drawImage could be either a valid overload,
// or too few for another overload, or too many for another
// overload - what should happen?
if (ctx.createImageData) {
- assert_throws(new TypeError(), function() { ctx.createImageData(); });
- assert_throws(new TypeError(), function() { ctx.createImageData(1); });
+ assert_throws_js(TypeError, function() { ctx.createImageData(); });
+ assert_throws_js(TypeError, function() { ctx.createImageData(1); });
}
if (ctx.getImageData) {
- assert_throws(new TypeError(), function() { ctx.getImageData(); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0, 0); });
- assert_throws(new TypeError(), function() { ctx.getImageData(0, 0, 1); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0, 0); });
+ assert_throws_js(TypeError, function() { ctx.getImageData(0, 0, 1); });
}
if (ctx.putImageData) {
var imgdata = ctx.getImageData(0, 0, 1, 1);
- assert_throws(new TypeError(), function() { ctx.putImageData(); });
- assert_throws(new TypeError(), function() { ctx.putImageData(imgdata); });
- assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 0); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(imgdata); });
+ assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 0); });
}
var g = ctx.createLinearGradient(0, 0, 0, 0);
-assert_throws(new TypeError(), function() { g.addColorStop(); });
-assert_throws(new TypeError(), function() { g.addColorStop(0); });
+assert_throws_js(TypeError, function() { g.addColorStop(); });
+assert_throws_js(TypeError, function() { g.addColorStop(0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.html b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.html
index 0cf9ca26d73..ffc7c9b08b5 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.html
@@ -21,7 +21,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.drawImage(null, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(null, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.worker.js
index 8ed0887ecd8..4591facb2ce 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.drawImage(null, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(null, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html
index 5cb283466bd..c003ae2571d 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html
@@ -21,9 +21,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.drawImage(undefined, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage("", 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(undefined, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage("", 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.worker.js
index ffdc2502163..5ab86698b95 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.worker.js
@@ -16,9 +16,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.drawImage(undefined, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage(0, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.drawImage("", 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(undefined, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage(0, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.drawImage("", 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html
index f945cedab15..04d4ccdb122 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html
@@ -22,15 +22,15 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(0, 10);
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
offscreenCanvas2.width = 10;
offscreenCanvas2.height = 0;
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
offscreenCanvas2.width = 0;
offscreenCanvas2.height = 0;
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker.js
index 1e9d63cf92b..7caae366844 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker.js
@@ -17,15 +17,15 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(0, 10);
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
offscreenCanvas2.width = 10;
offscreenCanvas2.height = 0;
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
offscreenCanvas2.width = 0;
offscreenCanvas2.height = 0;
-assert_throws("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.drawImage(offscreenCanvas2, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.html b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.html
index b941f3aa3aa..8bf00de4238 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.html
@@ -34,9 +34,9 @@ var promise = new Promise(function(resolve, reject) {
});
promise.then(function(response) {
createImageBitmap(response).then(bitmap => {
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 1, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 1, 0, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 0, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 1, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 1, 0, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 0, 0, 0, 100, 50); });
_assertPixelApprox(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255", 2);
}, t_fail);
}).then(t_pass, t_fail);
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html
index 1abcb6abf49..94d9bb61a6b 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html
@@ -34,9 +34,9 @@ var promise = new Promise(function(resolve, reject) {
});
promise.then(function(response) {
createImageBitmap(response).then(bitmap => {
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");
}, t_fail);
}).then(t_pass, t_fail);
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js
index cf472ac4179..60768bc7a04 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js
@@ -29,9 +29,9 @@ var promise = new Promise(function(resolve, reject) {
});
promise.then(function(response) {
createImageBitmap(response).then(bitmap => {
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 0, 0, 100, 50); });
_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");
}, t_fail);
}).then(t_pass, t_fail);
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker.js
index b3b6a59cb7a..be18c26b1ab 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker.js
@@ -29,9 +29,9 @@ var promise = new Promise(function(resolve, reject) {
});
promise.then(function(response) {
createImageBitmap(response).then(bitmap => {
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 1, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 1, 0, 0, 0, 100, 50); });
- assert_throws("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 0, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 1, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 1, 0, 0, 0, 100, 50); });
+ assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.drawImage(bitmap, 10, 10, 0, 0, 0, 0, 100, 50); });
_assertPixelApprox(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255", 2);
}, t_fail);
}).then(t_pass, t_fail);
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html
index 51d48ac0fe1..b20299bdc6c 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html
@@ -20,29 +20,29 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(-Infinity, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(NaN, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, -Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, NaN, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, -Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, NaN, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, NaN); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(-Infinity, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(NaN, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, -Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, NaN, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, -Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, NaN, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, NaN); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, Infinity, Infinity); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.worker.js
index c8268b00993..5d9ad688304 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.worker.js
@@ -16,29 +16,29 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(-Infinity, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(NaN, 0, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, -Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, NaN, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, -Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, NaN, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, 1, NaN); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, 1, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, Infinity, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(Infinity, 0, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, Infinity, 0); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, Infinity, 1, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createLinearGradient(0, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(-Infinity, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(NaN, 0, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, -Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, NaN, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, -Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, NaN, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, 1, NaN); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, 1, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, Infinity, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(Infinity, 0, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, Infinity, 0); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, Infinity, 1, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createLinearGradient(0, 0, Infinity, Infinity); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html
index 0b72a83527f..e2ad325ebe7 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html
@@ -21,11 +21,11 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var g = ctx.createLinearGradient(0, 0, 100, 0);
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, null); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, null); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.worker.js
index 526edbffb60..4fde5680200 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.worker.js
@@ -17,11 +17,11 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var g = ctx.createLinearGradient(0, 0, 100, 0);
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, null); });
-assert_throws("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, ""); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'null'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, 'undefined'); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, null); });
+assert_throws_dom("SYNTAX_ERR", function() { g.addColorStop(0, undefined); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html
index d841895c97e..95c9f304786 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html
@@ -21,11 +21,11 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var g = ctx.createLinearGradient(0, 0, 100, 0);
-assert_throws("INDEX_SIZE_ERR", function() { g.addColorStop(-1, '#000'); });
-assert_throws("INDEX_SIZE_ERR", function() { g.addColorStop(2, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(Infinity, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(-Infinity, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(NaN, '#000'); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { g.addColorStop(-1, '#000'); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { g.addColorStop(2, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(Infinity, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(-Infinity, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(NaN, '#000'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.worker.js
index 23b5d7a3d85..79cefb3ed20 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.worker.js
@@ -17,11 +17,11 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var g = ctx.createLinearGradient(0, 0, 100, 0);
-assert_throws("INDEX_SIZE_ERR", function() { g.addColorStop(-1, '#000'); });
-assert_throws("INDEX_SIZE_ERR", function() { g.addColorStop(2, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(Infinity, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(-Infinity, '#000'); });
-assert_throws(new TypeError(), function() { g.addColorStop(NaN, '#000'); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { g.addColorStop(-1, '#000'); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { g.addColorStop(2, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(Infinity, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(-Infinity, '#000'); });
+assert_throws_js(TypeError, function() { g.addColorStop(NaN, '#000'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.html
index 39cacb901e6..470455eab0b 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.html
@@ -20,9 +20,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.worker.js
index 979e020796b..8c206b7a856 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.worker.js
@@ -16,9 +16,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html
index ce657dec4c2..207ebbc10d8 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html
@@ -20,81 +20,81 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(-Infinity, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(NaN, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, -Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, NaN, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, NaN, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, -Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, NaN, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, -Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, NaN, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, NaN); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(-Infinity, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(NaN, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, -Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, NaN, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, NaN, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, -Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, NaN, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, -Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, NaN, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, NaN); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, Infinity); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.worker.js
index 6a2d6e0eb04..e07060cf2c0 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.worker.js
@@ -16,81 +16,81 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(-Infinity, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(NaN, 0, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, -Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, NaN, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, NaN, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, -Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, NaN, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, -Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, NaN, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, 0, NaN); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, 1); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(-Infinity, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(NaN, 0, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, -Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, NaN, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, NaN, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, -Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, NaN, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, -Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, NaN, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, 0, NaN); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, Infinity, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, Infinity, 1, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, Infinity, 0, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, 1); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, Infinity, 0, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createRadialGradient(0, 0, 1, 0, Infinity, Infinity); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html
index 2293d21bf7b..e1a0ec00bf3 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html
@@ -24,17 +24,17 @@ offscreenCanvas.width = 0;
offscreenCanvas.height = 10;
_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
_assertSame(offscreenCanvas.height, 10, "offscreenCanvas.height", "10");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
offscreenCanvas.width = 10;
offscreenCanvas.height = 0;
_assertSame(offscreenCanvas.width, 10, "offscreenCanvas.width", "10");
_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
offscreenCanvas.width = 0;
offscreenCanvas.height = 0;
_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker.js
index c015002c6ad..3034dee9f79 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker.js
@@ -20,17 +20,17 @@ offscreenCanvas.width = 0;
offscreenCanvas.height = 10;
_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
_assertSame(offscreenCanvas.height, 10, "offscreenCanvas.height", "10");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
offscreenCanvas.width = 10;
offscreenCanvas.height = 0;
_assertSame(offscreenCanvas.width, 10, "offscreenCanvas.width", "10");
_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
offscreenCanvas.width = 0;
offscreenCanvas.height = 0;
_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
-assert_throws("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
+assert_throws_dom("INVALID_STATE_ERR", function() { ctx.createPattern(offscreenCanvas, 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.html
index 193bb9dd4c0..0bf03d53d7f 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createPattern(null, 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern(null, 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.worker.js
index 6b5ad64c7c4..73af4f44af1 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createPattern(null, 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern(null, 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.html
index 0722f8f2817..f38cddbcc5d 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createPattern('../images/red.png', 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern('../images/red.png', 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.worker.js
index c64f978c3fa..bade91af85d 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createPattern('../images/red.png', 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern('../images/red.png', 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.html
index 8dff9482813..1d106cc075a 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createPattern(undefined, 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern(undefined, 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.worker.js
index 52163c091c5..d53b19aed0c 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createPattern(undefined, 'repeat'); });
+assert_throws_js(TypeError, function() { ctx.createPattern(undefined, 'repeat'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.html
index 392dfb66e91..3fa8c333bfb 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "Repeat"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "Repeat"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker.js
index 1f7557e483f..9d92417722c 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "Repeat"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "Repeat"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html
index 4b0f25afbf9..65dc223ec94 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "repeat\0"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "repeat\0"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker.js
index 3288e128257..de773414fa3 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "repeat\0"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "repeat\0"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.html
index 0722ae5ddc9..b064877a4be 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, undefined); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, undefined); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker.js
index 020adf7c002..7306f85ad79 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, undefined); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, undefined); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html
index 03f4659fd77..d0f8e63e7f1 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "invalid"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "invalid"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker.js
index 2d7796d0ae3..db19ecae449 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "invalid"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "invalid"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html
index 5d5b70536c4..8065796e3c1 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "null"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "null"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker.js
index d16979b6e98..5bb8e81b76c 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "null"); });
+assert_throws_dom("SYNTAX_ERR", function() { ctx.createPattern(offscreenCanvas, "null"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.html b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.html
index 38b7b8679ea..96b5bc3ec2a 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.arc(0, 0, -1, 0, 0, true); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.arc(0, 0, -1, 0, 0, true); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.worker.js
index e8488a0abba..e4bdee93856 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.arc(0, 0, -1, 0, 0, true); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.arc(0, 0, -1, 0, 0, true); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.html b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.html
index 0bd6eb2dbb5..509dc1df0ba 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.arcTo(0, 0, 0, 0, -1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.arcTo(0, 0, 0, 0, -1); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.worker.js
index 55ecf54c381..67f3c011821 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.arcTo(0, 0, 0, 0, -1); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.arcTo(0, 0, 0, 0, -1); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.html
index 1000e44c863..9c72eb1c6ce 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createImageData(null); });
+assert_throws_js(TypeError, function() { ctx.createImageData(null); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.worker.js
index 693fc5927bf..dc35289fd39 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createImageData(null); });
+assert_throws_js(TypeError, function() { ctx.createImageData(null); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.html
index 6f8afc0303f..ba25bd689e7 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.html
@@ -20,23 +20,23 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createImageData(Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(-Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, NaN); });
-assert_throws(new TypeError(), function() { ctx.createImageData(Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(-Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, NaN); });
+assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, Infinity); });
var posinfobj = { valueOf: function() { return Infinity; } },
neginfobj = { valueOf: function() { return -Infinity; } },
nanobj = { valueOf: function() { return -Infinity; } };
-assert_throws(new TypeError(), function() { ctx.createImageData(posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(neginfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(nanobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, neginfobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, nanobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(neginfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(nanobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, neginfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, nanobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, posinfobj); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js
index 3f588b0ad6b..2c2e9dc2a0d 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js
@@ -16,23 +16,23 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.createImageData(Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(-Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, NaN); });
-assert_throws(new TypeError(), function() { ctx.createImageData(Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(-Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, NaN); });
+assert_throws_js(TypeError, function() { ctx.createImageData(Infinity, Infinity); });
var posinfobj = { valueOf: function() { return Infinity; } },
neginfobj = { valueOf: function() { return -Infinity; } },
nanobj = { valueOf: function() { return -Infinity; } };
-assert_throws(new TypeError(), function() { ctx.createImageData(posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(neginfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(nanobj, 10); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, neginfobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(10, nanobj); });
-assert_throws(new TypeError(), function() { ctx.createImageData(posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(neginfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(nanobj, 10); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, neginfobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(10, nanobj); });
+assert_throws_js(TypeError, function() { ctx.createImageData(posinfobj, posinfobj); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.html
index 43a216cdc60..5a4553c90a3 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.html
@@ -20,9 +20,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.worker.js
index e64977ca161..ad892d90b98 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.worker.js
@@ -16,9 +16,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(10, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.createImageData(0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.html
index 8d30b552a4a..f40580e2345 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.html
@@ -20,55 +20,55 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(-Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(NaN, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, -Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, NaN, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(-Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(NaN, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, -Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, NaN, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, Infinity); });
var posinfobj = { valueOf: function() { return Infinity; } },
neginfobj = { valueOf: function() { return -Infinity; } },
nanobj = { valueOf: function() { return -Infinity; } };
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(neginfobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(nanobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, neginfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, nanobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, neginfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, nanobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, neginfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, nanobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(neginfobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(nanobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, neginfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, nanobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, neginfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, nanobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, neginfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, nanobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, posinfobj); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.worker.js
index b709ca6e99f..754fcf87d73 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.worker.js
@@ -16,55 +16,55 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(-Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(NaN, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, -Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, NaN, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(-Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(NaN, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, -Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, NaN, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, Infinity); });
var posinfobj = { valueOf: function() { return Infinity; } },
neginfobj = { valueOf: function() { return -Infinity; } },
nanobj = { valueOf: function() { return -Infinity; } };
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(neginfobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(nanobj, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, neginfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, nanobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, neginfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, nanobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, neginfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, 10, nanobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, posinfobj, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(posinfobj, 10, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, posinfobj, 10); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, posinfobj, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, posinfobj, 10, posinfobj); });
-assert_throws(new TypeError(), function() { ctx.getImageData(10, 10, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(neginfobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(nanobj, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, neginfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, nanobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, neginfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, nanobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, neginfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, nanobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, 10); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, posinfobj); });
+assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, posinfobj); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.html
index 3c461358222..6eab6836689 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.html
@@ -20,9 +20,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.worker.js
index a5a963db6c1..89d68cc5279 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.worker.js
@@ -16,9 +16,9 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 10); });
-assert_throws("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 10, 0); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 10); });
+assert_throws_dom("INDEX_SIZE_ERR", function() { ctx.getImageData(1, 1, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.html
index 9519691b991..357473121f2 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.html
@@ -21,88 +21,88 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var imgdata = ctx.getImageData(0, 0, 10, 10);
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, -Infinity, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, NaN, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, -Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, NaN, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, -Infinity, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, NaN, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, -Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, NaN, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.worker.js
index 97b81d71eac..c771a3ccbb5 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.worker.js
@@ -17,88 +17,88 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var imgdata = ctx.getImageData(0, 0, 10, 10);
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, -Infinity, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, NaN, 10, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, -Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, NaN, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity); });
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, -Infinity, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, NaN, 10, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, -Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, NaN, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, Infinity, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, Infinity, 10, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, Infinity, 10, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.html
index f36f93eeddd..aaf8e11a38e 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.html
@@ -20,7 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.putImageData(null, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(null, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.worker.js
index e7c4b3bc011..5f3417156be 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
-assert_throws(new TypeError(), function() { ctx.putImageData(null, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(null, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.html b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.html
index 90700552371..95775e208aa 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.html
@@ -21,9 +21,9 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var imgdata = { width: 1, height: 1, data: [255, 0, 0, 255] };
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.putImageData("cheese", 0, 0); });
-assert_throws(new TypeError(), function() { ctx.putImageData(42, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData("cheese", 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(42, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.worker.js
index 93dc33c0795..36437c29145 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.worker.js
@@ -17,9 +17,9 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var imgdata = { width: 1, height: 1, data: [255, 0, 0, 255] };
-assert_throws(new TypeError(), function() { ctx.putImageData(imgdata, 0, 0); });
-assert_throws(new TypeError(), function() { ctx.putImageData("cheese", 0, 0); });
-assert_throws(new TypeError(), function() { ctx.putImageData(42, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(imgdata, 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData("cheese", 0, 0); });
+assert_throws_js(TypeError, function() { ctx.putImageData(42, 0, 0); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.html
index ae8dd692148..a8c7f5ce5c1 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.html
@@ -21,7 +21,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext(); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext(); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.worker.js
index 9dbd97c861a..564790a2391 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.worker.js
@@ -17,7 +17,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext(); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext(); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.html
index 56431e2e4fc..3a51e546878 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.html
@@ -21,7 +21,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext('2D'); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext('2D'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.worker.js
index b41c1f767f5..e8d8b710a27 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.worker.js
@@ -17,7 +17,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext('2D'); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext('2D'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.html
index 92f37506eaa..bb3c20211b8 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.html
@@ -21,7 +21,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext(""); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext(""); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.worker.js
index 54406bb5bfe..fb172b21c2f 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.worker.js
@@ -17,7 +17,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext(""); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext(""); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.html
index 8e846714fad..52f6bdade53 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.html
@@ -21,7 +21,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext('This is not an implemented context in any real browser'); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext('This is not an implemented context in any real browser'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.worker.js
index 855f997118b..d9a08a50e3e 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.worker.js
@@ -17,7 +17,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext('This is not an implemented context in any real browser'); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext('This is not an implemented context in any real browser'); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.html
index 5511c4f21ec..1c6c3f0679c 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.html
@@ -21,7 +21,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext("2d#"); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext("2d#"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.worker.js
index c56ea7eb615..14905a8b675 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.worker.js
@@ -17,7 +17,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext("2d#"); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext("2d#"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.html
index b8660ae7fc6..0ce674a837c 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.html
@@ -21,7 +21,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext("2d\0"); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext("2d\0"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.worker.js
index efe45b9196b..def49a23655 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.worker.js
@@ -17,7 +17,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext("2d\0"); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext("2d\0"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.html
index 89f2655d563..6e041ad5329 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.html
@@ -21,7 +21,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext("2\uFF44"); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext("2\uFF44"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.worker.js
index a533117562d..918fe58cad7 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.worker.js
@@ -17,7 +17,7 @@ var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
-assert_throws(new TypeError(), function() { offscreenCanvas2.getContext("2\uFF44"); });
+assert_throws_js(TypeError, function() { offscreenCanvas2.getContext("2\uFF44"); });
t.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html
index a1760764dec..cefe39d0fc8 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html
@@ -24,19 +24,19 @@ test(function() {
assert_equals(offscreenCanvas1.width, 0);
assert_equals(offscreenCanvas1.height, 0);
- assert_throws(new TypeError(), function() { new OffscreenCanvas(-1, -1); });
+ assert_throws_js(TypeError, function() { new OffscreenCanvas(-1, -1); });
var offscreenCanvas2 = new OffscreenCanvas(null, null);
assert_equals(offscreenCanvas2.width, 0);
assert_equals(offscreenCanvas2.height, 0);
- assert_throws(new TypeError(), function() { offscreenCanvas2.width = -1; });
- assert_throws(new TypeError(), function() { offscreenCanvas2.height = -1; });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.width = -1; });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.height = -1; });
var obj = {Name: "John Doe", Age: 30};
- assert_throws(new TypeError(), function() { offscreenCanvas2.width = obj; });
- assert_throws(new TypeError(), function() { offscreenCanvas2.height = obj; });
- assert_throws(new TypeError(), function() { new OffscreenCanvas(obj, obj); });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.width = obj; });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.height = obj; });
+ assert_throws_js(TypeError, function() { new OffscreenCanvas(obj, obj); });
}, "Test that OffscreenCanvas constructor handles invalid arguments correctly");
</script>
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.worker.js
index 285e4e1d948..a9331101350 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.worker.js
@@ -25,19 +25,19 @@ t2.step(function() {
assert_equals(offscreenCanvas1.width, 0);
assert_equals(offscreenCanvas1.height, 0);
- assert_throws(new TypeError(), function() { new OffscreenCanvas(-1, -1); });
+ assert_throws_js(TypeError, function() { new OffscreenCanvas(-1, -1); });
var offscreenCanvas2 = new OffscreenCanvas(null, null);
assert_equals(offscreenCanvas2.width, 0);
assert_equals(offscreenCanvas2.height, 0);
- assert_throws(new TypeError(), function() { offscreenCanvas2.width = -1; });
- assert_throws(new TypeError(), function() { offscreenCanvas2.height = -1; });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.width = -1; });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.height = -1; });
var obj = {Name: "John Doe", Age: 30};
- assert_throws(new TypeError(), function() { offscreenCanvas2.width = obj; });
- assert_throws(new TypeError(), function() { offscreenCanvas2.height = obj; });
- assert_throws(new TypeError(), function() { new OffscreenCanvas(obj, obj); });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.width = obj; });
+ assert_throws_js(TypeError, function() { offscreenCanvas2.height = obj; });
+ assert_throws_js(TypeError, function() { new OffscreenCanvas(obj, obj); });
t2.done();
});
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.html
index 7aaa0e6c36a..0cb0abcc3b1 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.html
@@ -7,7 +7,7 @@
test(function() {
var offscreenCanvas = new OffscreenCanvas(1, 1);
- assert_throws(new TypeError(), function() { offscreenCanvas.getContext('3d'); });
+ assert_throws_js(TypeError, function() { offscreenCanvas.getContext('3d'); });
}, "Test that getContext with un-supported string throws a TypeError.");
test(function() {
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.worker.js b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.worker.js
index ced412fb894..d82b5a1c8d7 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.worker.js
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.worker.js
@@ -5,7 +5,7 @@ importScripts("/2dcontext/resources/canvas-tests.js");
test(function() {
var offscreenCanvas = new OffscreenCanvas(1, 1);
- assert_throws(new TypeError(), function() { offscreenCanvas.getContext('3d'); });
+ assert_throws_js(TypeError, function() { offscreenCanvas.getContext('3d'); });
}, "Test that getContext with un-supported string throws a TypeError.");
test(function() {
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html
index 0922727c61e..a0d4263c935 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html
@@ -42,8 +42,8 @@ test(function() {
placeholder.width = 2;
placeholder.height = 2;
var offscreen = placeholder.transferControlToOffscreen();
- assert_throws("InvalidStateError", () => { placeholder.width = 1; });
- assert_throws("InvalidStateError", () => { placeholder.height = 1; });
+ assert_throws_dom("InvalidStateError", () => { placeholder.width = 1; });
+ assert_throws_dom("InvalidStateError", () => { placeholder.height = 1; });
}, "Verify that writing to the width or height attribute of a placeholder canvas throws an exception");
test(function() {
@@ -51,8 +51,8 @@ test(function() {
placeholder.width = 1;
placeholder.height = 1;
var offscreen = placeholder.transferControlToOffscreen();
- assert_throws("InvalidStateError", () => { placeholder.width = 1; });
- assert_throws("InvalidStateError", () => { placeholder.height = 1; });
+ assert_throws_dom("InvalidStateError", () => { placeholder.width = 1; });
+ assert_throws_dom("InvalidStateError", () => { placeholder.height = 1; });
}, "Verify that writing to the width or height attribute of a placeholder canvas throws an exception even when not changing the value of the attribute.");
test(function() {
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html
index 31187c64e3d..e127a1eef85 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html
@@ -99,13 +99,13 @@ async_test(function(t) {
var worker = makeWorker(document.getElementById("myWorker").textContent);
var offscreenCanvas = new OffscreenCanvas(10, 10);
worker.postMessage(offscreenCanvas, [offscreenCanvas]);
- assert_throws("InvalidStateError", function() { offscreenCanvas.transferToImageBitmap(); });
+ assert_throws_dom("InvalidStateError", function() { offscreenCanvas.transferToImageBitmap(); });
t.done();
}, "Test that call transferToImageBitmap on a detached OffscreenCanvas throws an exception");
test(function() {
var offscreenCanvas = new OffscreenCanvas(10, 10);
- assert_throws("InvalidStateError", function() { offscreenCanvas.transferToImageBitmap(); });
+ assert_throws_dom("InvalidStateError", function() { offscreenCanvas.transferToImageBitmap(); });
}, "Test that transferToImageBitmap without a context throws an exception");
</script>
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.html
index a13e989cfce..12dc47db171 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.html
@@ -19,7 +19,7 @@ test(function() {
placeholder.width = 100;
placeholder.height = 50;
var offscreenCanvas = placeholder.transferControlToOffscreen();
- assert_throws("InvalidStateError", function() { placeholder.getContext('2d'); });
+ assert_throws_dom("InvalidStateError", function() { placeholder.getContext('2d'); });
}, "Test that calling getContext on a placeholder canvas that has already transferred its control throws an exception");
test(function() {
@@ -27,7 +27,7 @@ test(function() {
placeholder.width = 100;
placeholder.height = 50;
var offscreenCanvas = placeholder.transferControlToOffscreen();
- assert_throws("InvalidStateError", function() { placeholder.transferControlToOffscreen(); });
+ assert_throws_dom("InvalidStateError", function() { placeholder.transferControlToOffscreen(); });
}, "Test that calling transferControlToOffscreen twice throws an exception");
</script>
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.w.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.w.html
index 8637c3f7194..5030608c41b 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.w.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfercontrol.to.offscreen.w.html
@@ -55,7 +55,7 @@ async_test(function(t) {
var offscreenCanvas = placeholder.transferControlToOffscreen();
var worker = makeWorker(document.getElementById("myWorker").textContent);
worker.addEventListener('message', t.step_func_done(function(msg) {
- assert_throws("InvalidStateError", function() { placeholder.getContext('2d'); });
+ assert_throws_dom("InvalidStateError", function() { placeholder.getContext('2d'); });
}));
worker.postMessage({msg: 'test2', data: offscreenCanvas}, [offscreenCanvas]);
}, "Test that calling getContext on a placeholder canvas that is transferred its control to an OffscreenCanvas throws an exception, when the OffscreenCanvas is transferred to a worker");
@@ -67,7 +67,7 @@ async_test(function(t) {
var offscreenCanvas = placeholder.transferControlToOffscreen();
var worker = makeWorker(document.getElementById("myWorker").textContent);
worker.addEventListener('message', t.step_func_done(function(msg) {
- assert_throws("InvalidStateError", function() { placeholder.transferControlToOffscreen(); });
+ assert_throws_dom("InvalidStateError", function() { placeholder.transferControlToOffscreen(); });
}));
worker.postMessage({msg: 'test3', data: offscreenCanvas}, [offscreenCanvas]);
}, "Test that calling transferControlToOffscreen twice throws an exception, when its associated OffscreenCanvas is transferred to a worker");
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.html
index bc2ac3aae05..2ad46411462 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.html
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.html
@@ -44,7 +44,7 @@ test(function() {
var worker = makeWorker(document.getElementById("myWorker").textContent);
var offscreenCanvas = new OffscreenCanvas(10, 10);
var ctx = offscreenCanvas.getContext(contextType);
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
worker.postMessage({offscreenCanvas}, [offscreenCanvas]);
});
}
@@ -56,7 +56,7 @@ test(function() {
var worker = makeWorker(document.getElementById("myWorker").textContent);
var offscreenCanvas = new OffscreenCanvas(10, 10);
worker.postMessage({offscreenCanvas}, [offscreenCanvas]);
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
worker.postMessage({offscreenCanvas}, [offscreenCanvas]);
});
}, "Test that transfer an OffscreenCanvas twice throws exception.");
@@ -65,7 +65,7 @@ test(function() {
var worker = makeWorker(document.getElementById("myWorker").textContent);
var offscreenCanvas = new OffscreenCanvas(10, 10);
worker.postMessage({offscreenCanvas}, [offscreenCanvas]);
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
offscreenCanvas.getContext('2d');
});
}, "Test that calling getContext('2d') on a detached OffscreenCanvas throws exception.");
@@ -74,7 +74,7 @@ test(function() {
var worker = makeWorker(document.getElementById("myWorker").textContent);
var offscreenCanvas = new OffscreenCanvas(10, 10);
worker.postMessage({offscreenCanvas}, [offscreenCanvas]);
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
offscreenCanvas.getContext('webgl');
});
}, "Test that calling getContext('webgl') on a detached OffscreenCanvas throws exception.");
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm
index 855612b82a9..d592f10dc2f 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm
@@ -121,14 +121,14 @@
test(function() {
//trigger a security error by replacing the host of the current url with a fake one that is cross-domain
var testurl = testframe1.contentWindow.location.href.toString().replace(testframe1.contentWindow.location.host, "fakelocation-push");
- assert_throws("SECURITY_ERR", function() { history.pushState(null, null, testurl); }, "Security_Err 18 should be thrown");
+ assert_throws_dom("SECURITY_ERR", function() { history.pushState(null, null, testurl); }, "Security_Err 18 should be thrown");
}, "history.pushState throws DOMException with code SECURITY_ERR (18)");
},
function() {
test(function() {
//trigger a data clone error by passing invalid SCA data into the function
- assert_throws("DATA_CLONE_ERR", function() { history.pushState(document.body, null); }, "pushState should throw an exception DATA_CLONE_ERR with code 25");
+ assert_throws_dom("DATA_CLONE_ERR", function() { history.pushState(document.body, null); }, "pushState should throw an exception DATA_CLONE_ERR with code 25");
}, "history.pushState throws DATA_CLONE_ERR(25) for bad state parameter");
},
@@ -200,14 +200,14 @@
test(function() {
//trigger a security error by replacing the host of the current url with a fake one that is cross-domain
var testurl = testframe1.contentWindow.location.href.toString().replace(testframe1.contentWindow.location.host, "fakelocation-replace");
- assert_throws("SECURITY_ERR", function() { history.replaceState(null, null, testurl); }, "Security_Err 18 should be thrown");
+ assert_throws_dom("SECURITY_ERR", function() { history.replaceState(null, null, testurl); }, "Security_Err 18 should be thrown");
}, "history.replaceState throws DOMException with code SECURITY_ERR (18)");
},
function() {
test(function() {
//trigger a data clone error by passing invalid SCA data into the function
- assert_throws("DATA_CLONE_ERR", function() {history.replaceState(document.body, null);}, "replaceState should throw an exception DATA_CLONE_ERR with code 25");
+ assert_throws_dom("DATA_CLONE_ERR", function() {history.replaceState(document.body, null);}, "replaceState should throw an exception DATA_CLONE_ERR with code 25");
}, "history.replaceState throws DATA_CLONE_ERR(25) for bad state parameter");
},
diff --git a/tests/wpt/web-platform-tests/orientation-sensor/orientation-sensor-tests.js b/tests/wpt/web-platform-tests/orientation-sensor/orientation-sensor-tests.js
index fb6d83faa8b..5d35f3b9afc 100644
--- a/tests/wpt/web-platform-tests/orientation-sensor/orientation-sensor-tests.js
+++ b/tests/wpt/web-platform-tests/orientation-sensor/orientation-sensor-tests.js
@@ -33,15 +33,15 @@ async function checkPopulateMatrix(t, sensorProvider, sensorType) {
const eventWatcher = new EventWatcher(t, sensor, ["reading", "error"]);
// Throws with insufficient buffer space.
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
() => sensor.populateMatrix(new Float32Array(15)));
// Throws if no orientation data available.
- assert_throws({ name: 'NotReadableError' },
+ assert_throws_dom('NotReadableError',
() => sensor.populateMatrix(new Float32Array(16)));
// Throws if passed SharedArrayBuffer view.
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
() => sensor.populateMatrix(new Float32Array(new SharedArrayBuffer(16))));
sensor.start();
diff --git a/tests/wpt/web-platform-tests/paint-timing/basetest.html b/tests/wpt/web-platform-tests/paint-timing/basetest.html
index 7f84566d9a8..d4dfe7ed822 100644
--- a/tests/wpt/web-platform-tests/paint-timing/basetest.html
+++ b/tests/wpt/web-platform-tests/paint-timing/basetest.html
@@ -9,6 +9,7 @@
<script>
async_test(function(t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
t.step(function() {
const bufferedEntries = performance.getEntriesByType('paint');
assert_equals(bufferedEntries.length, 0, "No paint entries yet");
diff --git a/tests/wpt/web-platform-tests/paint-timing/buffered-flag.window.js b/tests/wpt/web-platform-tests/paint-timing/buffered-flag.window.js
index 7069eb6ccde..4654c925ca0 100644
--- a/tests/wpt/web-platform-tests/paint-timing/buffered-flag.window.js
+++ b/tests/wpt/web-platform-tests/paint-timing/buffered-flag.window.js
@@ -1,4 +1,5 @@
async_test(t => {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
// First observer creates second in callback to ensure the entry has been dispatched by the time
// the second observer begins observing.
let entries_seen = 0;
diff --git a/tests/wpt/web-platform-tests/paint-timing/child-painting-first-image.html b/tests/wpt/web-platform-tests/paint-timing/child-painting-first-image.html
index 4671604cf09..d78af081ef8 100644
--- a/tests/wpt/web-platform-tests/paint-timing/child-painting-first-image.html
+++ b/tests/wpt/web-platform-tests/paint-timing/child-painting-first-image.html
@@ -5,6 +5,7 @@
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
window.addEventListener('message', t.step_func(e => {
assert_equals(e.data, '2 paint first-paint paint first-contentful-paint');
// When only child frame paints, expect only first-paint.
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-contentful-bg-image.html b/tests/wpt/web-platform-tests/paint-timing/first-contentful-bg-image.html
index ddcc78fbe55..9c3b2200fb6 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-contentful-bg-image.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-contentful-bg-image.html
@@ -11,6 +11,7 @@
<footer>
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const body = document.getElementsByTagName('body')[0];
body.style.backgroundImage = 'url(resources/circles.png)';
window.onload = function() {
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-contentful-canvas.html b/tests/wpt/web-platform-tests/paint-timing/first-contentful-canvas.html
index 3610a57ec71..ab47aa0c21c 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-contentful-canvas.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-contentful-canvas.html
@@ -9,6 +9,7 @@
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const canvas = document.getElementById("canvas");
const context = canvas.getContext("2d");
context.beginPath();
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-contentful-image.html b/tests/wpt/web-platform-tests/paint-timing/first-contentful-image.html
index a4e89b37657..034391c796c 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-contentful-image.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-contentful-image.html
@@ -9,6 +9,7 @@
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const img = document.createElement("IMG");
img.src = "resources/circles.png";
img.onload = function() {
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-contentful-paint.html b/tests/wpt/web-platform-tests/paint-timing/first-contentful-paint.html
index d8eabefe12f..67d7b95eaa5 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-contentful-paint.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-contentful-paint.html
@@ -10,6 +10,7 @@
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const bufferedEntries = performance.getEntriesByType('paint');
assert_equals(bufferedEntries.length, 0, "No paint entries yet");
const div = document.createElement("div");
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-contentful-svg.html b/tests/wpt/web-platform-tests/paint-timing/first-contentful-svg.html
index cf3e9542758..8cda11c9567 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-contentful-svg.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-contentful-svg.html
@@ -9,6 +9,7 @@
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const img = document.createElement("IMG");
img.src = "resources/circle.svg";
img.onload = function() {
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-image-child.html b/tests/wpt/web-platform-tests/paint-timing/first-image-child.html
index 0622ddef96b..9851800a7bd 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-image-child.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-image-child.html
@@ -9,6 +9,7 @@
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const iframe = document.createElement('iframe');
iframe.id = 'child-iframe';
iframe.src = 'resources/subframe-sending-paint.html';
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-paint-bg-color.html b/tests/wpt/web-platform-tests/paint-timing/first-paint-bg-color.html
index 46efb9e2674..5e863794d41 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-paint-bg-color.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-paint-bg-color.html
@@ -11,6 +11,7 @@
<footer>
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
document.body.style.backgroundColor = "#AA0000";
function testPaintEntries() {
diff --git a/tests/wpt/web-platform-tests/paint-timing/first-paint-only.html b/tests/wpt/web-platform-tests/paint-timing/first-paint-only.html
index fb0e7528753..ea735a246b3 100644
--- a/tests/wpt/web-platform-tests/paint-timing/first-paint-only.html
+++ b/tests/wpt/web-platform-tests/paint-timing/first-paint-only.html
@@ -9,6 +9,7 @@
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const div = document.createElement("div");
div.style.width = "100px";
div.style.height = "100px";
diff --git a/tests/wpt/web-platform-tests/paint-timing/paint-visited.html b/tests/wpt/web-platform-tests/paint-timing/paint-visited.html
index a0734f97acc..9a5561d5f7f 100644
--- a/tests/wpt/web-platform-tests/paint-timing/paint-visited.html
+++ b/tests/wpt/web-platform-tests/paint-timing/paint-visited.html
@@ -9,7 +9,10 @@
<script src="/resources/testharnessreport.js"></script>
<a id="link" href="./">link</a>
<script>
-/* This test ensures that an empty page is painted when there is an invisible visited link (that would be visible if the link was not visited). It's necessary that whether the page is painted or not does not depend on visitedness of the link. Otherwise the paint-timing API could be used to sniff whether a link has been visited or not. */
+/* This test ensures that an empty page is painted when there is an invisible visited link (that
+would be visible if the link was not visited). It's necessary that whether the page is painted or
+not does not depend on visitedness of the link. Otherwise the paint-timing API could be used to
+sniff whether a link has been visited or not. */
window.onload = function() {
/* Convenience helper to get the link into the browsing history.
Using a relative path because some browsers only allow replaceState within the same domain. */
@@ -18,6 +21,7 @@ window.onload = function() {
history.replaceState({}, "", current_url);
}
async_test(function(t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
function testPaintEntries() {
const bufferedEntries = performance.getEntriesByType('paint');
if (bufferedEntries.length < 2) {
diff --git a/tests/wpt/web-platform-tests/paint-timing/sibling-painting-first-image.html b/tests/wpt/web-platform-tests/paint-timing/sibling-painting-first-image.html
index d4197e8a35c..16a6f145db0 100644
--- a/tests/wpt/web-platform-tests/paint-timing/sibling-painting-first-image.html
+++ b/tests/wpt/web-platform-tests/paint-timing/sibling-painting-first-image.html
@@ -6,6 +6,7 @@
<iframe id="listening-iframe" src="resources/subframe-sending-paint.html"></iframe>
<script>
async_test(function (t) {
+ assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
let paintingIframeHasDispatchedEntries = false;
window.addEventListener('message', t.step_func(e => {
if (!paintingIframeHasDispatchedEntries) {
diff --git a/tests/wpt/web-platform-tests/paint-timing/supported-paint-type.window.js b/tests/wpt/web-platform-tests/paint-timing/supported-paint-type.window.js
index 36acf82ca3b..c2c3cf5d6dd 100644
--- a/tests/wpt/web-platform-tests/paint-timing/supported-paint-type.window.js
+++ b/tests/wpt/web-platform-tests/paint-timing/supported-paint-type.window.js
@@ -1,25 +1,22 @@
test(() => {
- if (typeof PerformanceObserver.supportedEntryTypes === "undefined")
- assert_unreached("supportedEntryTypes is not supported.");
+ assert_precondition(typeof PerformanceObserver.supportedEntryTypes !== "undefined", 'supportedEntryTypes is not supported');
assert_true(PerformanceObserver.supportedEntryTypes.includes("paint"),
"There should be an entry 'paint' in PerformanceObserver.supportedEntryTypes");
}, "supportedEntryTypes contains 'paint'.");
-if (typeof PerformanceObserver.supportedEntryTypes !== "undefined") {
- const entryType = 'paint';
- if (PerformanceObserver.supportedEntryTypes.includes(entryType)) {
- promise_test(async() => {
- await new Promise((resolve) => {
- new PerformanceObserver(function (list, observer) {
- observer.disconnect();
- resolve();
- }).observe({entryTypes: [entryType]});
+const entryType = 'paint';
+promise_test(async() => {
+ assert_precondition(typeof PerformanceObserver.supportedEntryTypes !== "undefined", 'supportedEntryTypes is not supported');
+ assert_precondition(typeof PerformanceObserver.supportedEntryTypes.includes(entryType), `supportedEntryTypes does not include '${entryType}'`);
+ await new Promise((resolve) => {
+ new PerformanceObserver(function (list, observer) {
+ observer.disconnect();
+ resolve();
+ }).observe({entryTypes: [entryType]});
- // Force the PerformanceEntry.
- // Use `self` for Workers.
- if (self.document)
- document.head.parentNode.appendChild(document.createTextNode('foo'));
- })
- }, `'${entryType}' entries should be observable.`)
- }
-}
+ // Force the PerformanceEntry.
+ // Use `self` for Workers.
+ if (self.document)
+ document.head.parentNode.appendChild(document.createTextNode('foo'));
+ })
+}, `'${entryType}' entries should be observable.`)
diff --git a/tests/wpt/web-platform-tests/payment-method-id/payment-request-ctor-pmi-handling.https.html b/tests/wpt/web-platform-tests/payment-method-id/payment-request-ctor-pmi-handling.https.html
index 5f888f0389f..4ef083ebb4f 100644
--- a/tests/wpt/web-platform-tests/payment-method-id/payment-request-ctor-pmi-handling.https.html
+++ b/tests/wpt/web-platform-tests/payment-method-id/payment-request-ctor-pmi-handling.https.html
@@ -111,8 +111,8 @@ test(() => {
["visa","mastercard"], // stringifies to "visa,mastercard"
];
for (const invalidMethod of invalidMethods) {
- assert_throws(
- new RangeError(),
+ assert_throws_js(
+ RangeError,
() => {
const methods = [{ supportedMethods: invalidMethod }];
new PaymentRequest(methods, defaultDetails);
@@ -135,8 +135,8 @@ test(() => {
"https://",
];
for (const invalidMethod of invalidMethods) {
- assert_throws(
- new RangeError(),
+ assert_throws_js(
+ RangeError,
() => {
const methods = [{ supportedMethods: invalidMethod }];
new PaymentRequest(methods, defaultDetails);
diff --git a/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/complete-method.https.html b/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/complete-method.https.html
index 4edfd54f40e..36bfdb2160a 100644
--- a/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/complete-method.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/complete-method.https.html
@@ -8,7 +8,7 @@
<script>
test(() => {
const event = new MerchantValidationEvent("test");
- assert_throws("InvalidStateError", () => {
+ assert_throws_dom("InvalidStateError", () => {
event.complete("");
})
}, "If event's isTrusted attribute is false, then then throw an InvalidStateError DOMException.");
diff --git a/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/constructor.https.html b/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/constructor.https.html
index da30fef0019..9fdf78ddb3d 100644
--- a/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/constructor.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/MerchantValidationEvent/constructor.https.html
@@ -64,7 +64,7 @@ test(() => {
test(() => {
const validationURL = "http://\u005B"; // invalid URL
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new MerchantValidationEvent("test", { validationURL });
});
}, "Must throw TypeError if initialized with an invalid URL.");
@@ -135,8 +135,8 @@ test(() => {
"unknown://example.com/pay",
];
for (const methodName of invalidPMIs) {
- assert_throws(
- new RangeError(),
+ assert_throws_js(
+ RangeError,
() => {
const event = new MerchantValidationEvent("test", { methodName });
},
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
index 226fd88ff84..898e1916ca5 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
@@ -28,8 +28,8 @@ function runManualTest(button, expected = {}) {
addr.addressLine instanceof Array,
"Expected addressLine to be an array"
);
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
addr.addressLine.push("this must throw");
},
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html
index 243250080bd..0284de78580 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html
@@ -148,7 +148,7 @@ function testRecycleEvents({ textContent: testName }) {
// Here, we try to be sneaky, and reuse the addressChangeEvent to perform the update.
// However, addressChangeEvent [[waitingForUpdate]] is true, so it throws.
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
() => {
addressChangeEvent.updateWith(validDetails);
@@ -159,7 +159,7 @@ function testRecycleEvents({ textContent: testName }) {
// But optionChangeEvent is still usable tho, so...
optionChangeEvent.updateWith(validDetails);
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
() => {
optionChangeEvent.updateWith(validDetails);
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html
index c5737aa8c31..fb16de5699a 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html
@@ -55,7 +55,7 @@ function testRequestIsClosed(button) {
responsePromise.catch(err => err);
// Set request.[[state]] to closed
await event.target.abort();
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
() => {
event.updateWith(validDetails);
@@ -80,7 +80,7 @@ function testRequestIsUpdating(button) {
});
// Set request.[[updating]] to true
event.updateWith(pendingPromise);
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
() => {
event.updateWith(validDetails);
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
index 17a4741cdf9..acc62f5e2ce 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
@@ -43,7 +43,7 @@ test(() => {
new PaymentRequestUpdateEvent("shippingaddresschange"),
new PaymentRequestUpdateEvent("shippingoptionchange"),
].forEach(ev => {
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
() => {
ev.updateWith(Promise.resolve());
@@ -63,7 +63,7 @@ test(() => {
].map(ev => {
request.dispatchEvent(ev); // set .target and dispatch flag
// unstrusted event.
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
() => {
ev.updateWith(Promise.resolve())
diff --git a/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html b/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html
index 48f6d906632..29d7c6010ec 100644
--- a/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html
+++ b/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html
@@ -17,7 +17,7 @@ async_test((t) => {
path: '/common/blank.html'
});
iframe.onload = t.step_func_done(() => {
- assert_throws({name: 'SecurityError'}, () => {
+ assert_throws_dom('SecurityError', () => {
new grabbedPaymentRequest(...paymentArgs);
});
});
diff --git a/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https.html b/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https.html
index bbcc026d527..9d5d30cdcab 100644
--- a/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https.html
@@ -13,7 +13,7 @@ async_test((t) => {
const grabbedPaymentRequest = win.PaymentRequest;
win.location.href = '/common/blank.html';
iframe.onload = t.step_func_done(() => {
- assert_throws({name: 'SecurityError'}, () => {
+ assert_throws_dom('SecurityError', () => {
new grabbedPaymentRequest(...paymentArgs);
});
});
diff --git a/tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html b/tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html
index 56866b43a48..f4a9a721d07 100644
--- a/tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html
@@ -32,8 +32,8 @@
for (const supportedMethods of [].concat(knownPMIs).concat(unknownPMIs)) {
const method = { supportedMethods };
const request = new PaymentRequest([method], details);
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
const badMethod = Object.assign(
{},
@@ -55,8 +55,8 @@
// Only check the PMIs that are actually supported
if (!(await request.canMakePayment())) continue;
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
const badMethod = Object.assign(
{},
diff --git a/tests/wpt/web-platform-tests/payment-request/historical.https.html b/tests/wpt/web-platform-tests/payment-request/historical.https.html
index e681f6486b9..639bd400449 100644
--- a/tests/wpt/web-platform-tests/payment-request/historical.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/historical.https.html
@@ -37,7 +37,7 @@ test(() => {
const unexpectedError = {name: 'sequence<DOMString> conversion is not allowed'};
methods.toString = () => { throw expectedError; };
Object.defineProperty(methods, '0', { get: () => { throw unexpectedError; } });
- assert_throws(expectedError, () => {
+ assert_throws_exactly(expectedError, () => {
new PaymentRequest([{supportedMethods: methods}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}});
});
}, 'supportedMethods must not support sequence<DOMString>');
diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-constructor.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-constructor.https.html
index 99c25d17234..43b9588397e 100644
--- a/tests/wpt/web-platform-tests/payment-request/payment-request-constructor.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/payment-request-constructor.https.html
@@ -108,7 +108,7 @@ test(() => {
test(() => {
smokeTest();
- assert_throws(new TypeError(), () => new PaymentRequest([], defaultDetails));
+ assert_throws_js(TypeError, () => new PaymentRequest([], defaultDetails));
}, "If the length of the methodData sequence is zero, then throw a TypeError");
test(() => {
@@ -137,7 +137,7 @@ test(() => {
smokeTest();
const recursiveDictionary = {};
recursiveDictionary.foo = recursiveDictionary;
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
const methods = [
{
supportedMethods: "https://wpt.fyi/payment-request",
@@ -146,7 +146,7 @@ test(() => {
];
new PaymentRequest(methods, defaultDetails);
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
const methods = [
{
supportedMethods: "https://wpt.fyi/payment-request",
@@ -155,8 +155,8 @@ test(() => {
];
new PaymentRequest(methods, defaultDetails);
});
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
const methods = [
{
@@ -215,8 +215,8 @@ test(() => {
},
},
};
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new PaymentRequest(defaultMethods, invalidDetails);
},
@@ -238,7 +238,7 @@ test(() => {
test(() => {
smokeTest();
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new PaymentRequest(defaultMethods, {
total: {
label: "",
@@ -266,8 +266,8 @@ test(() => {
},
],
};
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new PaymentRequest(defaultMethods, invalidDetails);
},
@@ -372,8 +372,8 @@ test(() => {
const details = Object.assign({}, defaultDetails, {
shippingOptions: [invalidShippingOption],
});
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new PaymentRequest(defaultMethods, details, { requestShipping: true });
},
@@ -490,8 +490,8 @@ test(() => {
null,
"shippingOption must be null, because requestShipping is false"
);
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new PaymentRequest(defaultMethods, details, { requestShipping: true });
},
@@ -519,8 +519,8 @@ test(() => {
null,
"shippingOption must be null, because requestShipping is false"
);
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new PaymentRequest(defaultMethods, details, { requestShipping: true });
},
@@ -542,8 +542,8 @@ test(() => {
},
},
};
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new PaymentRequest(defaultMethods, {
modifiers: [invalidModifier],
@@ -571,8 +571,8 @@ test(() => {
},
],
};
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new PaymentRequest(defaultMethods, {
modifiers: [invalidModifier],
@@ -636,7 +636,7 @@ test(() => {
},
],
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new PaymentRequest(defaultMethods, modifiedDetails);
});
}, "Rethrow any exceptions of JSON-serializing modifier.data");
@@ -644,7 +644,7 @@ test(() => {
//Setting ShippingType attribute during construction
test(() => {
smokeTest();
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new PaymentRequest(defaultMethods, defaultDetails, {
shippingType: "invalid",
});
diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-currency-code-checks.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-currency-code-checks.https.html
index 1641683beb5..8004ff43f83 100644
--- a/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-currency-code-checks.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-currency-code-checks.https.html
@@ -48,7 +48,7 @@ const invalidCurrencyCodes = [
"ınr",
];
-const RANGE_ERROR = new RangeError();
+const RANGE_ERROR = RangeError;
const invalidAmount = Object.freeze({
currency: "¡INVALID!",
@@ -69,7 +69,7 @@ function smokeTest() {
// Process the total:
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const validCurrency of wellFormedCurrencyCodes) {
const amount = {
currency: validCurrency,
@@ -93,7 +93,7 @@ test(() => {
}, "Check and canonicalize valid details.total.amount");
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const invalidCurrency of invalidCurrencyCodes) {
const amount = {
currency: invalidCurrency,
@@ -106,7 +106,7 @@ test(() => {
const details = {
total,
};
- assert_throws(
+ assert_throws_js(
RANGE_ERROR,
() => {
new PaymentRequest(defaultMethods, details);
@@ -118,7 +118,7 @@ test(() => {
// If the displayItems member of details is present, then for each item in details.displayItems:
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
const displayItems = [];
for (const validCurrency of wellFormedCurrencyCodes) {
const amount = {
@@ -154,7 +154,7 @@ test(() => {
}, "Check and canonicalize valid details.displayItems amount");
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const invalidCurrency of invalidCurrencyCodes) {
const amount = {
currency: invalidCurrency,
@@ -168,7 +168,7 @@ test(() => {
total: defaultTotal,
displayItems: [displayItem],
};
- assert_throws(
+ assert_throws_js(
RANGE_ERROR,
() => {
new PaymentRequest(defaultMethods, details);
@@ -180,7 +180,7 @@ test(() => {
// Process shipping options:
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
const shippingOptions = [];
for (const validCurrency of wellFormedCurrencyCodes) {
const shippingOption = {
@@ -213,7 +213,7 @@ test(() => {
}, "Check and canonicalize valid details.shippingOptions amount.");
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const invalidCurrency of invalidCurrencyCodes) {
const shippingOption = {
id: "test",
@@ -225,7 +225,7 @@ test(() => {
total: defaultTotal,
shippingOptions: [shippingOption],
};
- assert_throws(
+ assert_throws_js(
RANGE_ERROR,
() => {
new PaymentRequest(defaultMethods, details, { requestShipping: true });
@@ -237,7 +237,7 @@ test(() => {
// Process payment details modifiers:
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const validCurrency of wellFormedCurrencyCodes) {
const modifier = {
supportedMethods: "https://wpt.fyi",
@@ -261,7 +261,7 @@ test(() => {
}, "Check and canonicalize valid modifiers[n].total amount.");
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const invalidCurrency of invalidCurrencyCodes) {
const modifier = {
supportedMethods: "https://wpt.fyi",
@@ -274,7 +274,7 @@ test(() => {
total: defaultTotal,
modifiers: [modifier],
};
- assert_throws(
+ assert_throws_js(
RANGE_ERROR,
() => {
new PaymentRequest(defaultMethods, details);
@@ -286,7 +286,7 @@ test(() => {
// Process payment details modifiers:
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const validCurrency of wellFormedCurrencyCodes) {
const additionalItem = {
label: "additionalItem",
@@ -312,7 +312,7 @@ test(() => {
}, "Check and canonicalize valid modifiers[n].additionaDisplayItem amount.");
test(() => {
- assert_throws(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
+ assert_throws_js(RANGE_ERROR, smokeTest, "Expected smoke test to throw.");
for (const invalidCurrency of invalidCurrencyCodes) {
const additionalItem = {
label: "additionalItem",
@@ -327,7 +327,7 @@ test(() => {
total: defaultTotal,
modifiers: [modifier],
};
- assert_throws(
+ assert_throws_js(
RANGE_ERROR,
() => {
new PaymentRequest(defaultMethods, details);
diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-pmi-handling.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-pmi-handling.https.html
index 5f888f0389f..4ef083ebb4f 100644
--- a/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-pmi-handling.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/payment-request-ctor-pmi-handling.https.html
@@ -111,8 +111,8 @@ test(() => {
["visa","mastercard"], // stringifies to "visa,mastercard"
];
for (const invalidMethod of invalidMethods) {
- assert_throws(
- new RangeError(),
+ assert_throws_js(
+ RangeError,
() => {
const methods = [{ supportedMethods: invalidMethod }];
new PaymentRequest(methods, defaultDetails);
@@ -135,8 +135,8 @@ test(() => {
"https://",
];
for (const invalidMethod of invalidMethods) {
- assert_throws(
- new RangeError(),
+ assert_throws_js(
+ RangeError,
() => {
const methods = [{ supportedMethods: invalidMethod }];
new PaymentRequest(methods, defaultDetails);
diff --git a/tests/wpt/web-platform-tests/performance-timeline/po-observe-type.any.js b/tests/wpt/web-platform-tests/performance-timeline/po-observe-type.any.js
index 5cdac973bec..2c0719a8d14 100644
--- a/tests/wpt/web-platform-tests/performance-timeline/po-observe-type.any.js
+++ b/tests/wpt/web-platform-tests/performance-timeline/po-observe-type.any.js
@@ -3,7 +3,7 @@
test(() => {
const obs = new PerformanceObserver(() =>{});
obs.observe({entryTypes: ["mark"]});
- assert_throws('InvalidModificationError', function () {
+ assert_throws_dom('InvalidModificationError', function () {
obs.observe({type: "measure"});
});
}, "Calling observe() with entryTypes and then type should throw an InvalidModificationError");
@@ -11,14 +11,14 @@ test(() => {
test(() => {
const obs = new PerformanceObserver(() =>{});
obs.observe({type: "mark"});
- assert_throws('InvalidModificationError', function () {
+ assert_throws_dom('InvalidModificationError', function () {
obs.observe({entryTypes: ["measure"]});
});
}, "Calling observe() with type and then entryTypes should throw an InvalidModificationError");
test(() => {
const obs = new PerformanceObserver(() =>{});
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
obs.observe({type: "mark", entryTypes: ["measure"]});
});
}, "Calling observe() with type and entryTypes should throw a SyntaxError");
diff --git a/tests/wpt/web-platform-tests/performance-timeline/po-observe.any.js b/tests/wpt/web-platform-tests/performance-timeline/po-observe.any.js
index 6a673dbe784..7d7de376b25 100644
--- a/tests/wpt/web-platform-tests/performance-timeline/po-observe.any.js
+++ b/tests/wpt/web-platform-tests/performance-timeline/po-observe.any.js
@@ -2,16 +2,16 @@
test(function () {
var obs = new PerformanceObserver(function () { return true; });
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
obs.observe({});
});
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
obs.observe({entryType: []});
});
}, "no 'type' or 'entryTypes' throws a SyntaxError");
test(function () {
var obs = new PerformanceObserver(function () { return true; });
- assert_throws(new TypeError(), function () {
+ assert_throws_js(TypeError, function () {
obs.observe({entryTypes: "mark"});
});
}, "entryTypes must be a sequence or throw a TypeError");
diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid.html
index 82449455167..c54e3a7ada6 100644
--- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid.html
+++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid.html
@@ -37,7 +37,7 @@
detected_pointertypes[event.pointerType] = true;
test_pointerEvent.step(function() {
- assert_throws("NotFoundError", function(){ listener.releasePointerCapture(INVALID_POINTERID); },
+ assert_throws_dom("NotFoundError", function(){ listener.releasePointerCapture(INVALID_POINTERID); },
"It should not be possible to release capture an invalid pointer id");
});
diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid.html
index 3180ca53f55..ada67fa5b7b 100644
--- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid.html
+++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid.html
@@ -33,7 +33,7 @@
on_event(target0, "pointerdown", function (event) {
detected_pointertypes[event.pointerType] = true;
test_pointerEvent.step(function() {
- assert_throws("NotFoundError", function(){ listener.setPointerCapture(INVALID_POINTERID); },
+ assert_throws_dom("NotFoundError", function(){ listener.setPointerCapture(INVALID_POINTERID); },
"It should not be possible to capture an invalid pointer id");
});
test_pointerEvent.done(); // complete test
diff --git a/tests/wpt/web-platform-tests/portals/portal-activate-event-constructor.html b/tests/wpt/web-platform-tests/portals/portal-activate-event-constructor.html
index 7263b121151..1931e8fc865 100644
--- a/tests/wpt/web-platform-tests/portals/portal-activate-event-constructor.html
+++ b/tests/wpt/web-platform-tests/portals/portal-activate-event-constructor.html
@@ -20,6 +20,6 @@ test(() => {
test(() => {
const e = new PortalActivateEvent("portalactivate");
- assert_throws("InvalidStateError", () => e.adoptPredecessor());
+ assert_throws_dom("InvalidStateError", () => e.adoptPredecessor());
}, "Invoking adoptPredecessor on a synthetic PortalActivateEvent should throw");
</script>
diff --git a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationConnection_send-manual.https.html b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationConnection_send-manual.https.html
index 9bdd0859b1c..fcc91212e05 100644
--- a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationConnection_send-manual.https.html
+++ b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationConnection_send-manual.https.html
@@ -65,7 +65,7 @@
// send data in "connecting" state (throws an exception)
assert_equals(connection.state, 'connecting', 'the initial state of the presentation connection is "connecting"');
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
connection.send('');
}, 'an InvalidStateError is thrown if the state is "connecting"');
@@ -103,7 +103,7 @@
return watcher.wait_for('close');
}).then(() => {
assert_equals(connection.state, 'closed', 'the state is set to "closed" when the presentation connection is closed');
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
connection.send('');
}, 'an InvalidStateError is thrown if the state is "closed"');
@@ -117,7 +117,7 @@
return watcher.wait_for('terminate');
}).then(() => {
assert_equals(connection.state, 'terminated', 'the state is set to "terminated" when the presentation connection is terminated');
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
connection.send('');
}, 'an InvalidStateError is thrown if the state is "terminated"');
});
diff --git a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_error.https.html b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_error.https.html
index cb22b4368ab..68e0fbcd222 100644
--- a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_error.https.html
+++ b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_error.https.html
@@ -9,27 +9,27 @@
<script>
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new PresentationRequest();
}, 'Call PresentationRequest() constructor without presentation URL. TypeError Exception expected.');
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
new PresentationRequest([]);
}, 'Call PresentationRequest constructor with an empty sequence. NotSupportedError Exception expected.');
- assert_throws('SyntaxError', () => {
+ assert_throws_dom('SyntaxError', () => {
new PresentationRequest('https://@');
}, 'Call PresentationRequest constructor with an invalid URL. SyntaxError Exception expected.');
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
new PresentationRequest('unsupported://example.com');
}, 'Call PresentationRequest constructor with an unsupported URL. NotSupportedError expected.');
- assert_throws('SyntaxError', function() {
+ assert_throws_dom('SyntaxError', function() {
new PresentationRequest(['presentation.html', 'https://@']);
}, 'Call PresentationRequest constructor with a sequence of URLs, one of them invalid. SyntaxError Exception expected.');
- assert_throws('NotSupportedError', function() {
+ assert_throws_dom('NotSupportedError', function() {
new PresentationRequest(['unsupported://example.com', 'invalid://example.com']);
}, 'Call PresentationRequest constructor only with a sequence of unsupported URLs. NotSupportedError Exception expected.');
});
diff --git a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent.https.html b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent.https.html
index 52a520b748f..3b19b9c9bd2 100644
--- a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent.https.html
+++ b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent.https.html
@@ -12,7 +12,7 @@
};
test(function () {
- assert_throws('SecurityError', createPresentation);
+ assert_throws_dom('SecurityError', createPresentation);
});
</script>
diff --git a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent_multiple.https.html b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent_multiple.https.html
index 862cb45c06f..e9571224d62 100644
--- a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent_multiple.https.html
+++ b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/PresentationRequest_mixedcontent_multiple.https.html
@@ -15,7 +15,7 @@
};
test(function () {
- assert_throws('SecurityError', createPresentation);
+ assert_throws_dom('SecurityError', createPresentation);
});
</script>
diff --git a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/defaultRequest.https.html b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/defaultRequest.https.html
index bc07e02748c..713cea7f9ae 100644
--- a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/defaultRequest.https.html
+++ b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/defaultRequest.https.html
@@ -14,7 +14,7 @@
navigator.presentation.defaultRequest = request;
assert_equals(navigator.presentation.defaultRequest, request, 'The default presentation request is set to an instance of PresentationRequest.');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
navigator.presentation.defaultRequest = {};
}, 'The default presentation request cannot be set to any value but an instance of PresentationRequest or null.');
diff --git a/tests/wpt/web-platform-tests/presentation-api/receiving-ua/PresentationConnection_send-manual.https.html b/tests/wpt/web-platform-tests/presentation-api/receiving-ua/PresentationConnection_send-manual.https.html
index f600a7fba23..188f7e3fc1b 100644
--- a/tests/wpt/web-platform-tests/presentation-api/receiving-ua/PresentationConnection_send-manual.https.html
+++ b/tests/wpt/web-platform-tests/presentation-api/receiving-ua/PresentationConnection_send-manual.https.html
@@ -88,7 +88,7 @@
if (!result.type || result.type !== 'error')
assert_unreached('an InvalidStateError is thrown if the state is "closed"');
else
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
throw new DOMException(result.message, result.name);
}, 'an InvalidStateError is thrown if the state is "closed"');
});
diff --git a/tests/wpt/web-platform-tests/priority-hints/fetch-api-request.tentative.any.js b/tests/wpt/web-platform-tests/priority-hints/fetch-api-request.tentative.any.js
index e492d87d4f2..0c10a3e2f96 100644
--- a/tests/wpt/web-platform-tests/priority-hints/fetch-api-request.tentative.any.js
+++ b/tests/wpt/web-platform-tests/priority-hints/fetch-api-request.tentative.any.js
@@ -1,5 +1,5 @@
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new Request("", {importance: 'invalid'});
}, "a new Request() must throw a TypeError if RequestInit's importance is an invalid value");
}, "new Request() throws a TypeError if any of RequestInit's members' values are invalid");
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..4c3802dae79
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..d394bd1e4e2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..85ca63d1470
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..a05223441ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..080260e7d46
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..142fe0c1344
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..68b6b4796d3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..95991260cc3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..143b92c3e94
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..caccf277e48
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ff2b557f1a5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..361752465e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b313e1b8cf0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..2bfdf1f966f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..15949d8d11f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..05b2a3d68eb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..c3b6f6c7c7f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..e83bf31950d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..35a96050dc6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..3d04cad1f38
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..30577195c98
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..cf51c1e72a1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d817ec4dd12
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..72df66720b1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..43761121a3c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..edf6ad13a05
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..0a3c40a408e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..9d4b569cdf4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..42d30788381
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..c172ab34c71
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..211188643b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..774fc69efe7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..a8590f135b3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..acb73e754ce
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..460e2460525
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2dbf501e788
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..1eb93554227
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..f28f6a8c9ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..d052d045239
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..a2130565292
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..9dd49623438
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..58fb3efe76a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..a351c338b6a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..0741ca04100
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..841e3175422
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..69fdbcb1058
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..e47f4ff801b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1222252b6a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..4ecc3367b63
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..4f6a3571834
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..395db421847
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..ec9da8a2a02
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..79e00866ba6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2637d13d36c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3e5b298f86f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c71ca117226
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..af90b554010
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9cf74fd7e0d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..3f8822828b5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..de626c259d0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..608802389c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..481f3a25060
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..4914ed183ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..5248a244a40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4371218111e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..68a6e853aba
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b0ef51f4d74
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..5bdb3f44dad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..64f40b9ac99
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..49b21a9aaf9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0e68ad23e60
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d45ec515a50
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..efa73828287
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1e17c7be9c6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..44f55bc82b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..11d28f2b7b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8eb728b6883
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..fb4e67dbce8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a2f1b18267e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d0ebc66aa5f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a6a7f916ec3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..97172fc6af4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..fb5e75f4746
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..fcc3079d1c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d24f65ca2e9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b20fac55fad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..00624e1b0c3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..89c78640687
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..e23fa374b46
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4325995f1cb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..218bc1ae9c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..f5b8b464b8a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..10227f71543
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..70b830df152
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..cc96f816cab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c96b1a3bd2b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..32fa5eb0be0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8a3a657822b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..96195c261f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ea6022df1ab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..af7c40febec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..781a8d446c6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f0dc7c38ce1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..683b8b5ca96
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..edffa0f3ace
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5083fe37990
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..064e09bd7ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d31d03a8071
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8f1c4717df9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..2d8fe73002f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0693a8f3fcb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..311bd13bf45
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2249c1a161d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f0544a56011
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..eb5ed99ebef
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..2dc52498384
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d8f11e5abb4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..77e969c673f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7ce3088cbda
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d6702e6fe44
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ea3e7b68f44
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..3d23c296934
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..92dc5c75764
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..dcab0bfa862
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..064250efda3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..a804d60f937
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..99e306b5f5f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..db0e25e6c3b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..03f565a69be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..726c8d7f140
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..a88cb365519
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..43c875becbc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a5aacc5bde4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..e8e550e70b5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..a975e0afe22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..7b4b354e222
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..019586e19b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..83a5347eec7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..83175ed9536
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..ad0d2ea3aa8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..9682e79855d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..4e6c295b183
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..e21471beb3b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..31a5606e98d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7d8bcd93218
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..62bdb36df8a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..33058b7004c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..60ade0b6a2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..c3c99c95461
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..b94df6fa438
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..8986821f7f2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..464b20c87ab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..64d312c68e5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..a7a0d8b14ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..e34b0f44137
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..e79090f32fd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..6a44f60bd6c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..f5650aee090
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..f73d530e189
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..0bb37b4900d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..e075d359cf3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..61350037cc2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..8f596f55e15
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..658891c390e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..a2374195345
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..bf2c352f98e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..2d0b84962ba
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..30177b584db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..dacd57f68ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..5f8812e2f43
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..73dbd33dc70
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..8ec97700201
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..047485e38b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..64f10038370
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a23d7d20df6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..cef8fdb5e81
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a3aa1db13f5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..941850e8b6b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..120efba8c36
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..d460510fdc5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..50cf5378fff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..956d32a212a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..036392abd66
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..b33893e9336
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..bdd7631581f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b4ef622748b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b2c8a07785f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..8dd5eb8630d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..96705247c6e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..08b38475ab7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..e9f0d495048
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..f88769fd9c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..a747db8bf19
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..6fbdb686a1a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..a7e3dc51855
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..2a50287c1bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..acb2d52a9e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..8c16c05f1a0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..496d12d647b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..1b0378a3679
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..00bea0d3a51
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ac2686bf311
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0c72b8e9d36
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..d6c068b61b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..444b3ef22f9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..4e33ed9551b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..d458756330b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..26b3bfd4d0c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..a0ccb1b05a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..c6445444c0d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..d1f5a4d16ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..631165464cd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..c38aec92be2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8dbe6086637
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..793297d1697
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..e46888e7dd1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..62ce6a41480
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..6afa660bf9d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..c32fe9b95d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..e7cbc17b7c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..7446d6cb7f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..1f14c13bc58
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..f27f5a9ea8c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..3fc281e8deb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..1343e9370ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..aa5a4dda5b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..16d6b375c4f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..d9c21291c9e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..f383932ad52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..7f0a7900e03
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..afef1ce00fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..e0fbedab983
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..f737d136298
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..9d94546fe02
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..f73a67d4030
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..e5329556d40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..424154f44e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1e0fe60c46c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b1c1b2c7892
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c6d6679ef33
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..0ec1d058859
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..1b5110c28cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..43e2070ea66
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c82ebd1769b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..79c204fee0a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d7f31ea497a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..522877903c5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5dc0587fc0a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..34fa9f77036
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0de1d990786
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..ed256fe53d2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..1a93d1fce38
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..25f197009e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..54c3a070d61
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..346d4c1ea2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..15e1b94c00d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4f7ed37e7b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..7fa22ec13e4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c16b91a511a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..66b00c80385
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..536a94590b3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..7ef3918a8ef
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..5b1bf55d659
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7c8843bea8e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..caa7bc3b5c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..6e6134809d1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..71c7443ee51
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..b50c96be0e7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..986de2112fd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..c6fe553114a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..4cbd4308984
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4bbc0305cc9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d3c1792b804
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..a91366efb77
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..00f9d4ff054
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..44c7e6efbc0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..ff30b9ecf79
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..775025d2bf3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..6eb042c6581
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..5fe6c8be51c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..00020010b83
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..47540313d0b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..56552a05ade
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..59fd3b6e252
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0ed6e096dc8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..6d9de995d8d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..b0e2201884d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..c782e4c7e0b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..fdd5ecf8f80
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..73566bf3649
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..1417dc92468
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..76ba3f84056
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..7b9302e4f89
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..2de8c8cb1df
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..5ab7aacd9bf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..94899b0eef8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2ca30553142
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..79b0e7039db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..ad3eb19f8c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..4e8730f4180
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..647a7726178
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..12625ee696f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..b8c9c4a0683
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..99e234cb77a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..1de1d44ae49
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..19da7b57a4e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..d8ff85a0dc6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1ee7b80a5e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..3022b6479d1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b9cf476c07f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..36c43b36d7a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..a6bb6f1e477
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..e9145326584
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c51267686eb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..793c4a90bcf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5e7abe84be1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5eea8def593
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..6bd1a59d715
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..dee29c95da1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..b4129f05115
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..af904eec692
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..9d2464d73ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..52c65b0df41
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..8f326c12977
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..eeacfc72403
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..629f0b1e432
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0f195ad8458
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..3aef44d2db0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..02b9018cf87
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..de558ff53a1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..5b86e03f24a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a04ef6cafd7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..837cc3dbc06
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b39a5057e80
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ee7241a12c9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..77028a538b5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8ae44989ba5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7f2c372b0e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d430552bc44
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..20b7dd54bff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..475a0bc5a34
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..17ab76a033b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b8d754a7c52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..fd82790469e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f51a49eaea3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..903caf9ab99
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..408d57c2050
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..fcc2d6ae894
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..437779cb3ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..08b5b0661ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ccf400275a2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c687779eceb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..3bee5c4875f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..380a4a716a9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..e0f8eff6a54
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1b7606dcb22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..fc229db6525
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..515f07ea0e9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..efa5245864c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..03a0fcb679e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9e19c534df9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..24ce029049a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..66ac7130d25
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3f68452cf73
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1ac53f3c3b9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9dfdd01c4f8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..e86f4558a22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..74fe3da8fdc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..814ee1f816b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..86288171f40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0b3c0515009
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..060341416a2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ff5c12b1d88
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c3e0c85db0e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..475118b602c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8ffdffb5074
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..e62460cf05c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0f602308263
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..28d85879598
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c865d14f103
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3e5a4471519
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..cd3fa41ec7c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..e5151b0cef1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..26e1ad11e8c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..3beb9397b53
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..704a84ccae2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..5ed3aee5ecc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..1101eb09b35
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..6a5fb25d427
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..e7c2e37a22c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..09f961930aa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..57b2a1b801a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..620a3ee07af
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ef8f517d3f7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b56e6763a9e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..112dc5a5c8f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..1ec5d4200f0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..57fa649afa3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..734d2254f88
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..9082bf4ccf4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..9b76a680e89
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..75a991a04fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..c25c3defc43
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..701f2d73bcd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d290db53f79
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..3a7120351b6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..3e85f68d713
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..34484fdf417
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..f59b0b40090
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..01eec1bee2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..c221f6f7ac4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..a9aa1d82399
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..581e7ce0b9c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..4d5613013c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..b45eb6e9cee
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..eee2437ca18
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f29bb36f18e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c8969f1d778
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..5d9bc6944d9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..dc3a34ce57c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..7406e3f96c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..d8256f74b3e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..be2c3ca9b28
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..0bc9282b76a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..490821d67af
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..bddaefc4a98
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..b4d36fa5874
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..b4f501fbbeb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..cb623363537
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c382dadaa45
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..597dd7ef2e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c879e822992
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..56225dbc3af
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..c1fb0addb6e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a18c4e6371e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..207b7fd9638
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d3e4aeeaad2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b018ba12e8f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1b8bd3581ad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8d6a0159bfe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..93799cad263
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..4eeff108866
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..833ccfeda04
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..85d74f6f12a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..84662c7139e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..783a4281312
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..bcb3912c4ee
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..915430e2bf0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..06e2040989f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..4c448982ae0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..470a1fed5dd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..c69cc65b24f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..f88769fd9c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..a747db8bf19
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..6fbdb686a1a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..a7e3dc51855
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..2a50287c1bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..acb2d52a9e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..8c16c05f1a0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..496d12d647b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..1b0378a3679
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..00bea0d3a51
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ac2686bf311
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0c72b8e9d36
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..d6c068b61b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..444b3ef22f9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..4e33ed9551b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..d458756330b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..26b3bfd4d0c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..a0ccb1b05a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..c6445444c0d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..d1f5a4d16ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..631165464cd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..c38aec92be2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8dbe6086637
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..793297d1697
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..e46888e7dd1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..62ce6a41480
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..6afa660bf9d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..c32fe9b95d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..e7cbc17b7c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..7446d6cb7f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..1f14c13bc58
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..f27f5a9ea8c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..3fc281e8deb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..1343e9370ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..aa5a4dda5b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..16d6b375c4f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..d9c21291c9e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..f383932ad52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..7f0a7900e03
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..afef1ce00fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..e0fbedab983
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..f737d136298
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..9d94546fe02
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..f73a67d4030
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..e5329556d40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..424154f44e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1e0fe60c46c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b1c1b2c7892
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c6d6679ef33
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..0ec1d058859
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..1b5110c28cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..43e2070ea66
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c82ebd1769b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..79c204fee0a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d7f31ea497a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..522877903c5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5dc0587fc0a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..34fa9f77036
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0de1d990786
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..ed256fe53d2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..1a93d1fce38
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..25f197009e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..54c3a070d61
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..346d4c1ea2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..15e1b94c00d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4f7ed37e7b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..7fa22ec13e4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c16b91a511a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..66b00c80385
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..536a94590b3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K+1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K+1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..54160250a64
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..a14fab1396f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..853e3ecd98f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..f296d012d82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..2d3b451e43e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..30a0ee652cd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..8576b77ec6b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..7e4f30fc2e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..dcce9ea64ad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..a2b413197ba
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..74ed4c622f3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8f19bf48229
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c6591c90407
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..b3ae0354843
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..ca967c585c9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..7a620541464
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..806fab6c61d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..f71d39ca069
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..978ac1d7fac
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..c9db3acde9c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..3decd3a67f4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..9277073bbab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..912e6135da6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9e09c25bde8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b2c36993e9f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..36c37a40fea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..b994dde1720
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..5da33c6f1f3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..efa5d3118f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..3787093e5bd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..d6c6c6b6d54
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..5226e583a55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..e7420da5a18
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..95816eb2034
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8fa1801dbc1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..f268a6ed6eb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..f5d1eed2106
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..a9df49d8756
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..87c7b14bad3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..21c9f250b51
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..1009f359e87
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..bdebaeee48f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..598bf0aaf23
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..f2e819ce368
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..b8ddb48fd21
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..4c6aa0e5cab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8c499d35c7b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..36692fccdb8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..e8578c365ca
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..5d489db7aa6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..9ede931dae5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..9ca994d57ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..37d2238c09d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..3f69bbd2191
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..43bfecf19db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..67900f9062e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..dc43bf41461
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..32bedff1177
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..1fe69c1af24
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..90503c86c9a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..dd9e20f0953
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..92fd41603e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..f5d55ebf08c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..9ca3d898262
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8797d24f912
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a21632865ce
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..f47d931ac09
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..1cc027e3fcb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..9577dddc93b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..fc5b92fce9d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9a2b056c8c6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..6f3bb72674a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..731c6fce572
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1b17f0f9271
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..f3d121e857b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5971b59fad2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..055ec8c2122
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..aad5ff4708f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ce0835daf59
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..63606746657
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9c3604a6b96
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b8933df29fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b341ff28b99
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d0172cec6bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2dfd23da480
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5f01dd0a522
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a20fbdef3e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..19f762834d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..45b3f76674c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..25794b0bdac
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4808c92b9a6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0fccf00caad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..122f0971a36
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ce7aa504486
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4ffafe2c054
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..decf2c40322
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..2b17369776b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c4d44c7d174
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..110edf5f8a7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..39adae23ee2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ba6dbd59d6d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c3680a1f71c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4073a9177e2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..963e613a8e5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c4bcd4811fe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..202fa0c9a7e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..520f0941e16
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..00a20bd1fb4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ca4dcf7381a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b189fa6326c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2a8bb230239
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..600ce02bc22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..824fb33302f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4c83fde2e4d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0f3d7878a5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c33c745d388
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..76eb7bd934a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..36088e087ac
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..117a77b8e5a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0cdb3f1cff7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ef2c352ca53
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..fef103ab36f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..b30e65cef88
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c85a4b5a464
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..99db3864a64
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..4211b11a519
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..15a90bd77c7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..5dc1482ec09
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..f209625f185
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..0ba5f0d4391
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..603523ab466
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..aa2f229a061
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8456a5f131b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..5c598da13ac
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..2027d546040
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..764fbf15ecb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..410ae2bcd28
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0efdd54a34f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..cfb09c1ec03
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..3b182ea5985
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..ebe29f74bf0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..2659b7b9664
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..5093dfcb745
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..9d220aecdcf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c80120da25e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..949beb9f2e5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..1562269434f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..9a841555d95
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..7d4eba4c0cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..e822bc38e9b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..89a35697897
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..09043d6bde7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..4771692b756
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..f0334b267bc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..5312351dc23
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c3c6b244631
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a0d4eadc671
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..587548d0b69
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..38d7bf856bc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..62b6e24a057
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..47834e9d522
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..2afe993bbea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..11040bba542
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..c33eb02091a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..9bb1e5bfbdd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..eae638c6746
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..527328fc980
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..6b706c4de12
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c96c701e38a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..eb57c2c11cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..d5aefdb2ad1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..47775c11d5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..39ae72fa535
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d2f928e3b9f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2dfdeb45d83
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..efa5185ed5f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7bbea8116b6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ed68f19bf05
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ab6d388f224
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..40bc6f19d1e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..75ea4bb8202
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..ddc655cd69f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..d140b8bf144
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..5f9dafe9f7b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..a2be99f9fed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..030d5f10d32
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..18500c2f2fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..bdbad5ca2b7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..b079438febf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..b21409a073a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..f52736ec73b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..5643bee8c84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..929f9a937ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..221ad2be6e5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..db0b3e6b74e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..44639bdd28a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..fd93d32cf35
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..89bc43cc723
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..4ec3d90cda9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..420d76e6554
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..8d243e77f6d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1dc719efe55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2136d9fcabb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..0689e038550
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..4aeaf477234
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..5ee203b76fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..8c1c8e6b2b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0feeb305f72
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..51fb18edfe7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..364a03ae552
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..dcf6bfbf1c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..61fe4deebf7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..6c70039b1f4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a54f711b8f5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..25e9320df5c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..19855221746
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c01c5e96eeb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..e8839b93a31
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..c3e3a5209dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..b8c03e924e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..7cffff93b68
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..581789cd22e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..a7fa4e3d2a0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..9822fe84342
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..6b465939df7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..46e82825fb3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0756276d9e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..9f814fa852b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..129e3c560a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..af8a97d1184
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..40fa0886280
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..9dfd8683770
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..64df30a8858
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..34be694e3fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..a08f1b2191c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..6b57a550032
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..f900690ec7f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..7fa850eea50
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..68f01c719ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..dc95dc909b7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..1cc91cb6ead
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..d6809deb530
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..b78fc7135e4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c8a46e5d191
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..82789e2cde2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8c84a954c66
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..97545736fd9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a6865e346d0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7ff5670a5c2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..2eb093834d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..3462597c2f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..92503762400
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..1ae3ec326cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..d763c5f6300
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..3e4776ae7ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..984888d1dcd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1012f88acc1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..293f3b81485
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..564e62a6e5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..7a83e94487d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..446cf9824f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..6635dfc5031
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..e83ae4c7693
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..15d4e795dd7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..7658b82ec1a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..6248d0555e5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..48d5d351b69
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..b46c6e3be67
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..12cae73fbac
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..ded040b8f10
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..587d33bba90
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d9f2b31903a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..6deeb1030a2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..d398f8f0a49
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..ea6088e2334
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..dfcf3cf24f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..ab490575d22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..364b47cd599
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..abeafee9eea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..06cd341aa20
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..b65273930ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..29da61ad2cd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..b5883fc31dd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8bf24a8b543
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5bfca7b23cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..5e976f19844
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..238d6a7a703
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..42ec3e3321b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..d5ad6f60819
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..a8cb418ff69
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..edc3c13d38b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..2f7f2e4a45a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..d5382241de7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..462853088ed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..10ce4ce09d2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..eda423471fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a9603707319
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..07795d238fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..85e10c6d5d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..b212c97aedf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..ed9b01814dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0fca364bf45
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..dcde2682326
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..65e4b530988
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..4ccd1f8719b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..5ea416427ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..2d750ef7f1f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f32e1403c92
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4245f1c5fbb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..a8b1d9102d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..6802465799d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..b91241e3350
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..b3b48ac7167
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b962171e6df
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..88c548adf08
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..9a29ad47937
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4f7253c25a8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b3dee8cc5fe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..75a14d71a0b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..7c63fcb42ce
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..c05a4c9c690
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..086d5904c0c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..972017b054c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..5ef3f2fc609
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..b64c282e435
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1f2512faf74
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7244d148ee7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..2e692b8f515
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..747e4a39370
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..3d83d2305bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..2afe68e9280
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a6f537f175e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..86b2620d905
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1b6f9764994
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..74320c80a83
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..27c78b1acd0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..9e475ea1d5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ea75a2987ad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..331c30ea67f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..65920c7a391
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a4f45594322
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..50861fe7082
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..95a0c8c03c4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1adcb1004b7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ad9673edb75
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d49bf50b465
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..269ac8f825a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5f550fdb2fc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..973e6a05502
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..07240599c8b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..98dd2b22abf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..034c0d49919
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8506cff81ca
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b2d0ccb2ef2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..f79fb606133
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b2c65b916e2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5db950ef617
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..cb0c92eb930
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7b4500d2efd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ad8ce8ada33
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..09e04628762
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..97aa7c0989d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..18e2cac2c5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c1b01545027
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..caa7e1d9e52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a3fd164bafe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d3b334d3b6b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..e1d95b11f72
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..49a78b0ccf9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ebb61bf712a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d39439883e4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..bb2467f6754
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..02b88daec66
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..95424dd40fc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..01005e24f33
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..76dda5d8241
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5a794cfa43f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0d8ed7ddf9d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..93bcc8f6bb6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..27a35a92bb5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..169b6020755
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..6fe020ccdf3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..5e25fbcce64
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..db57ebbae40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..426f6d11a08
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..746c5e0a2f3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..22c37bfe5e9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..1caf3ee26e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..789b1db6194
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..68f05c5c0b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..b16af6a1161
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..1df1732f9f2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..5e8f0321d46
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a2a5ee24668
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..a36ce68ecd4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..50cef3fdf47
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..64013770f53
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..0a7522a6052
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..f4ecf9e72e3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..d27594fb9b6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..f78e7b8a688
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..7566c575d6d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..7041e4cd613
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..67daf36b9e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ee0a21cdf65
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..98e6801514c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..e254449c117
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..1d98050db43
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..cc68d00e624
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..93ef3c680fe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..44a151fa461
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..7000b2c39f9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..a2eead77367
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..3a891942bb2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..283bd24f9be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..1f03d22999c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3ea9eb9017d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c22b6f66ccd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..87c58951199
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..d557c463572
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..2d529653f38
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..f75e8e7f20e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..5105b355bfa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..1e5417ddda0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..82e77718d77
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..f158ca6ab72
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..ffcca16ea74
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..4ef7da52c29
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c90600de118
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2229564c4ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..d631404582e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..9b9c193387d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..c3184980f13
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..22858a5e179
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..02d815b285d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..59d0107987e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..7611f0c0ccb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..62360e290cd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1f5f6489d3a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4f3add3f008
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..4dc0e6d514e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..4dda84412e2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..8eac0309834
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..fd6a3dfc251
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..09c1dfcecdb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..5d479a21df6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..bfd916d74b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b86ee7e3856
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..6ce7c97c7e2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..569ba812f84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..d6c2712a1d2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..e6415f4b5ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..5643bee8c84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..929f9a937ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..221ad2be6e5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..db0b3e6b74e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..44639bdd28a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..fd93d32cf35
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..89bc43cc723
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..4ec3d90cda9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..420d76e6554
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..8d243e77f6d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1dc719efe55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2136d9fcabb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..0689e038550
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..4aeaf477234
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..5ee203b76fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..8c1c8e6b2b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0feeb305f72
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..51fb18edfe7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..364a03ae552
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..dcf6bfbf1c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..61fe4deebf7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..6c70039b1f4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a54f711b8f5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..25e9320df5c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..19855221746
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c01c5e96eeb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..e8839b93a31
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..c3e3a5209dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..b8c03e924e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..7cffff93b68
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..581789cd22e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..a7fa4e3d2a0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..9822fe84342
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..6b465939df7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..46e82825fb3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0756276d9e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..9f814fa852b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..129e3c560a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..af8a97d1184
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..40fa0886280
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..9dfd8683770
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..64df30a8858
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..34be694e3fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..a08f1b2191c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..6b57a550032
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..f900690ec7f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..7fa850eea50
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..68f01c719ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..dc95dc909b7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..1cc91cb6ead
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..d6809deb530
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..b78fc7135e4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c8a46e5d191
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..82789e2cde2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8c84a954c66
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..97545736fd9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a6865e346d0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7ff5670a5c2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..2eb093834d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..3462597c2f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..92503762400
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..1ae3ec326cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..d763c5f6300
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..3e4776ae7ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..984888d1dcd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1012f88acc1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..293f3b81485
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..564e62a6e5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..7a83e94487d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..446cf9824f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K-1/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K-1/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..a9fefc5335a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..fe269b591df
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..bdab90c3c93
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..2166f0dde13
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..f2729cbcb52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..a73e9d11a2f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..50ece9cadcb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..c955a1fea18
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..f71c3b2c16c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..882d65711a8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..d4f39f9242a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a7b0e7f266d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..32c268942da
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..8ea4786c419
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..73548913060
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..823c727cf7a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..79b9f206b13
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..28b0287a669
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..1d0b258f03a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..8eccc567550
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..dc5b1c64ca8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..98ff9597c55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..de37be5b870
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4d034ab49d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..a65b56492b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..2503c58f6e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..d8c793f10a1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..7ee8f923b26
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..e59b8f7e55f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..e8c78a21f28
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..9324cf727db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..99ce0e996b6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..8b1306840e5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..18bb216bcc6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..e3c20928d71
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a78f1b9c0f7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..7f9a2bf57b3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..0027a51ef74
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..dfdf17ca220
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..d84ed7e107a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..b2f70707cb3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..b8c847aec05
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..ca13a3b60ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..b48d1202cf7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..132ab1033ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..dfa840a3516
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3fe9772e601
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a260b4b2ebe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..e8c45deba7f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..1992b36e858
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..a0f774640e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..2deb7c6b481
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..2ff9d5f36b1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4c6a9514b42
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..2a0fc0f623a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5e88f7341ed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..7d8a4afc069
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c7f60904e18
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..fdfb72931fc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..47666106781
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..4f08a622acc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..436de59cab0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..a8f54c1702b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..6757257a17b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..2faa3f2f9be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..69d15044350
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..12959fbf9a0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..b5183cb3881
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..ad4a1bcfea2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..1bab6fe7762
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..180358e691b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: no-referrer-when-downgrade
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7f35dbbacad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..98941a44ab3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ad62a678ebd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..866d3b13d38
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..bf9f28ec801
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..773e5c81b52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..15fe7d07220
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..9f24d9bde8a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..bffff9be0fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b92a16dde62
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..cb11dfbefed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..49182a2c2c2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1e1559eb973
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..05963c2d9f2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0e7d536ab26
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ab8585fc56c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c9511876c97
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..a15ea7c65c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4d10d3e4396
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c396d388206
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7f902f70e03
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..34582b4d6dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9fce73c9d58
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..43b06e91563
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..0b4d5a1baaf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..9a30544bcdf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..da220eb5825
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3cef1b4b322
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..305c63c7a9a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..cfafc7166f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2eb778279dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..88d31a55ff4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8e987ecf3dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..6b99399a7bc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..e5de56b797b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..be66cf93211
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: same-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..3635ee6c7aa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0645477144f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..4fdb3e02e2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..35749e37f9a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a5e4575a294
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..179e958d3f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..f53ad35d86b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4ad7dcfca2f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a5571e07a5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..22eacd003b5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a29ba3dbd8b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4ab18ec26d3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a5e08751cec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a8babc7eb40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..346654a54ee
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..7df84deb40e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d6490256a0c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..4cff1d12f82
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: strict-origin-when-cross-origin
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..b49b87c3fa4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..29a1698f1a8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..16252eb3e89
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..75e4b8de706
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..9922c8bf400
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..3e77a7bda28
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..9789b3a8dff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..7d00a136314
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..e5182860dba
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..2fda3a8680d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8de62ae9dfa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..bbd7003d9b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..6b49c22ffcf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..8467efcb78b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..b86b55cacde
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..09fc8694fd2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..6d2446f7cef
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..fa7c97b5773
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..864ed4d6f0f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..31857f5b020
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..807c2ea5c8f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..fbd5a0e4e87
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b55aa725186
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7fb7b273d7a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..7ef73d70001
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..a3282d26e16
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..d2fd9f38849
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..05d5e333652
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..54aec1435f0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..734b5e24b4f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..e66736a1f2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..03351c7007e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..a870fa6a4c2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..3d61543525a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..6498c9b73b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..98126940adc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..04b442f199f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..04bb78f2385
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..05e88291cdd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..6cb89d4113e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..09ba06fe97a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..5ddbbbd0097
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..daa75cd9dd2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..d0159817d0c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..92fc05e5a58
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..cd607f7a74d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..508066029a1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..fa1d48ed60d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b0aef7fcc7c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..fb5aab72bda
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..5975e7432e3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..45506e97df7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..066f65c0715
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5fbdf424f7a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8dbf224a261
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..eabdcb1011c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ea0ff9655d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5a99955c352
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..6b136600885
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..a802ecb55f0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..fb18a558fcb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..44b1ad4136e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..fb68b248043
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..3f208548366
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..067b74f6883
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..63e27261cb4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..9f2b14305fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..b92e14939a6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..16eee27fee3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..9e18ad80906
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers
new file mode 100644
index 00000000000..c1d3fd1a0be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html.headers
@@ -0,0 +1,2 @@
+Access-Control-Allow-Origin: *
+Referrer-Policy: unsafe-url
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..e1b9c071a8f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..9df9f18a540
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b2111079c20
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..c7aa9dc13c3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..929c4c594d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..b2fea46787d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..e08868bbb70
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..827a4543138
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..ced41a3b59b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..ab873760f22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..47153305f55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..76d4705ae5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c026b45fd06
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..6870f2cfd07
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..1a3acf28dff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..87981d1c661
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..186d94ba8af
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..bfe3c149eae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..265b108c984
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..51fb8801cf2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..078b8036840
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..078aef4c736
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..65b6e912cf3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7ab79f00ab2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..951b9a76ddf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c2e72a3c545
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..da910c915a7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..be9b5c3979b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..69bae396965
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..2c800d68d3c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..ff6aee7cf06
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..ce1ddee18da
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..63b43d13997
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..ed497a1c802
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f8d97a0c86a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..611164c1f48
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c680915e28a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..915a88cca84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..28122a250d8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..27553107eeb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..136ddb9cc68
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..d011a885919
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..d87d5850f0d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..2c6bf466298
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..bf0589564b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..3f616dec68a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0b796055cbb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..e903577c95a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c812e2aa122
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..88b68ef5e00
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..47a8bb18953
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..a5e98f5f38e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3b6c78dcea4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ca6f2485a99
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..520bea1e1fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..298248e21d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3b6630ca6e7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d6f2ec45a7c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..d78ce1f66f4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..314e15d4304
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..b098e917c93
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..43f924c77f8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..10dc03fb014
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..541415c9546
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f9d4101186f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..fa92ffe6bd0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b1d2d924035
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..5fb91ef90d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..135bf134a40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..db8586474b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..22c4900d10a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..65a3ddca6a7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d1b3ebcbca0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..38abcd502d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..858abba8e1e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..e138dbac1fc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..7f0a6399f57
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..9f271c5c468
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..1be7385e46d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..442632c4b9b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..6ef20558777
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..3bed586e83c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..4a1f4291656
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c55848be7c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..d9d9b5e7622
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..8e814e27b29
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..22ece65ccd1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..40e36088e39
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..ecfcf418c63
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..ecab7543b04
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..c76f5c3bde4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..9041c1e8f5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..db6c8a6681e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7a242da44b3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c5773070336
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..39a65cf8e8f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..03588d7d3c6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..2253f93b1b3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..d5ff6947fc5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..6e0e170dfc6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..08be9fc8fb9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..49205634e59
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..d0cdf5ecde7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..6b1f98786e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..49d5b4143bf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..64ea5452cc6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..f193ced7bc8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..31ad993e663
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..fed40493102
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..053cd8d7a35
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..35ed15e929b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..014693c3e88
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..886ea8c3a72
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..23685b8a0df
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..822d196eb51
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..5cda327fcc4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3c63a8b1c10
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5836897035e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..975110b1e77
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..4641de88c73
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..a2b9102e82f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..114a40cb800
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..97230961f67
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ec8ed051039
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..aa336f3914d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ff4f0b77666
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0b2b0ad8d52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..af09ae128f9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..99d4f8be754
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..788cf677801
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..ac3aadbdc8e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..8329e740950
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..e9647772192
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..b95f2fc84d7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..95b0ca6fbff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..bf1f4f4f8e4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..cbfa298cf59
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..3be3c7c04b7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..e5ae1b3a62c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..f3bb4286afc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="no-referrer-when-downgrade">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a00780694c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..604a1e529f5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..37b4b4c81d9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..76c03a3a23b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..f804ae15f6c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..218e7974a4a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..509b5c21258
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..06518b37c08
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..6d3bbad2f98
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f3d89afa8e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..8a0f895dd55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..8ef99fdc727
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..c809622a3f8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b8d88a5fdce
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5cd3774b8ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..ef1c290075b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..426d5bf8556
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a5678f0d8af
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..7fbef77906b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a04e160ed66
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1a5830e3398
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b7cbd0f451c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..1a077590101
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..2a6023dd483
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..db4f2c3c07c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7667e641a18
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0a0b8dd2897
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ad1ea96f46c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f9959d9c864
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..a459c7251cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..20483abbee1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b291030abcc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c99c5c6512a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ce4ad27fe84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="same-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b18f0df99b1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..84a9a807c0f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..04971fe57f0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..81e99b3ac0f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..be9fdbff517
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..fe67437e4dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..5a1ec96f33a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b31138974ed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d3fb9bbb74a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..4631af5260b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..dd6362c04db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..c823c6e7ba1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..6801b70f93a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..a55b41a020d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..35727cd0e22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0e3338647fe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d0897860602
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="strict-origin-when-cross-origin">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..672bf6de221
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..2c5d115414a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..77679ab4e62
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..2ed530425d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..f1724215d00
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..b86e83109a8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..2849ca8cf72
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..572e04d674d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..b589362fb2b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..695e0d32b99
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..41ba30a0c55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..1f4442d0fd6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..53e502ff566
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..786e43ee726
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..cf30ceb5943
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..ba7e39d8902
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..b25f36c61b5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..49352a7f587
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..1c84b97f73c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..1fd86c6ea26
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..625b3cba292
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..2ab41c9ebec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..b463dfd023c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..00a10e19450
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c1a52fe0c5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c4ff3800315
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..863369c876c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..9240998a3c4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0f4640654fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..934d17cc329
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..270e81a5251
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..abddc971c7e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..38bde67c48c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..0c4a9a38db9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3c6efb46f16
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..77a4e88b778
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..119445172a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..18ce22b7ea9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..95ad996eebc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..1d558cf5673
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..0f269d6fac1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..1966a479387
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..caa83b1b315
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..281119783e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..86785b7f5c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..402f680880e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..db7a1530be5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..70fc272e714
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b6f2c8add9a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..925cb67ac51
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..5ac8f25ecbd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..20632217221
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f1f4f3bba43
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..030de324d9f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..2914c71d272
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..586b673102d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..54bbe38a124
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..9f71e045a19
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..356475b6a10
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..01ef4b080fc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..e8795602b93
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..ba216274525
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..59c4d5238a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..d067cc8ea2c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..889acaca97b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..25d1857ead5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..51b71a977ce
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..f0a18a10a2e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..c11a9c40c34
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..9cc85b97d69
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that all sub-resources get the stripped referrer URL.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <meta name="referrer" content="unsafe-url">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..e1b9c071a8f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..9df9f18a540
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..b2111079c20
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..c7aa9dc13c3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for a-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "a-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..929c4c594d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..b2fea46787d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..e08868bbb70
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..827a4543138
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..ced41a3b59b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..ab873760f22
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..47153305f55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..76d4705ae5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c026b45fd06
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..6870f2cfd07
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..1a3acf28dff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..87981d1c661
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for fetch to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "fetch",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..186d94ba8af
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..bfe3c149eae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..265b108c984
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..51fb8801cf2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..078b8036840
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..078aef4c736
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..65b6e912cf3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..7ab79f00ab2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..951b9a76ddf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..c2e72a3c545
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..da910c915a7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..be9b5c3979b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for iframe-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "iframe-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..69bae396965
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..2c800d68d3c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..ff6aee7cf06
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..ce1ddee18da
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..63b43d13997
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..ed497a1c802
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f8d97a0c86a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..611164c1f48
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c680915e28a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..915a88cca84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..28122a250d8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..27553107eeb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "img-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..136ddb9cc68
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..d011a885919
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..d87d5850f0d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..2c6bf466298
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..bf0589564b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..3f616dec68a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..0b796055cbb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..e903577c95a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..c812e2aa122
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..88b68ef5e00
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..47a8bb18953
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..a5e98f5f38e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for script-tag to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "script-tag",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3b6c78dcea4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..ca6f2485a99
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for sharedworker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "sharedworker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..520bea1e1fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..298248e21d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-classic to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-classic",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..3b6630ca6e7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..d6f2ec45a7c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for worker-module to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "worker-module",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
new file mode 100644
index 00000000000..d78ce1f66f4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
new file mode 100644
index 00000000000..314e15d4304
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
new file mode 100644
index 00000000000..b098e917c93
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
new file mode 100644
index 00000000000..43f924c77f8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
new file mode 100644
index 00000000000..10dc03fb014
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
new file mode 100644
index 00000000000..541415c9546
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to cross-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "cross-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
new file mode 100644
index 00000000000..f9d4101186f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
new file mode 100644
index 00000000000..fa92ffe6bd0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
new file mode 100644
index 00000000000..b1d2d924035
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-http origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-http",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.keep-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
new file mode 100644
index 00000000000..5fb91ef90d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and keep-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "keep-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.no-redirect.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
new file mode 100644
index 00000000000..135bf134a40
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and no-redirect redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "no-redirect",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.swap-origin.http.html b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
new file mode 100644
index 00000000000..db8586474b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/referrer-policy/4K/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/4K/` -->
+<html>
+ <head>
+ <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.">
+ <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+ <link rel="help" href="https://w3c.github.io/webappsec-referrer-policy/#referrer-policies">
+ <meta name="assert" content="Referrer Policy: Expects stripped-referrer for xhr to same-https origin and swap-origin redirection from http context.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/security-features/resources/common.sub.js"></script>
+ <script src="../../../../../generic/test-case.sub.js"></script>
+ <script src="../../../../generic/test-case.sub.js"></script>
+ </head>
+ <body>
+ <script>
+ TestCase(
+ {
+ "expectation": "stripped-referrer",
+ "origin": "same-https",
+ "redirection": "swap-origin",
+ "source_context_list": [],
+ "source_scheme": "http",
+ "subresource": "xhr",
+ "subresource_policy_deliveries": []
+ },
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ </script>
+ <div id="log"></div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/resize-observer/observe.html b/tests/wpt/web-platform-tests/resize-observer/observe.html
index 7360264e6ba..d4179933272 100644
--- a/tests/wpt/web-platform-tests/resize-observer/observe.html
+++ b/tests/wpt/web-platform-tests/resize-observer/observe.html
@@ -56,7 +56,7 @@ function test1() {
function test2() {
test(() => {
- assert_throws({name: "TypeError"}, _=> {
+ assert_throws_js(TypeError, _=> {
let ro = new ResizeObserver(() => {});
ro.observe({});
});
diff --git a/tests/wpt/web-platform-tests/resources/idlharness.js b/tests/wpt/web-platform-tests/resources/idlharness.js
index 7d1373ef341..01af85b295d 100644
--- a/tests/wpt/web-platform-tests/resources/idlharness.js
+++ b/tests/wpt/web-platform-tests/resources/idlharness.js
@@ -1190,6 +1190,10 @@ IdlArray.prototype.assert_type_is = function(value, type)
assert_regexp_match(value, /^([\x00-\ud7ff\ue000-\uffff]|[\ud800-\udbff][\udc00-\udfff])*$/);
return;
+ case "DataView":
+ assert_equals(typeof value, "DataView");
+ return;
+
case "object":
assert_in_array(typeof value, ["object", "function"], "wrong type: not object or function");
return;
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html
index 463d2b45309..ab068b29cac 100644
--- a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html
+++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html
@@ -171,13 +171,13 @@
test(function() {
var idl = new IdlArray();
- assert_throws(new Error(), _ => idl.is_json_type(typeFrom("Foo")));
+ assert_throws_js(Error, _ => idl.is_json_type(typeFrom("Foo")));
}, "should throw if it references a dictionary, enum or interface which wasn't added to the IdlArray");
test(function() {
var idl = new IdlArray();
idl.add_untested_idls('interface Foo : Bar { };');
- assert_throws(new Error(), _ => idl.is_json_type(typeFrom("Foo")));
+ assert_throws_js(Error, _ => idl.is_json_type(typeFrom("Foo")));
}, "should throw for interfaces which inherit from another interface which wasn't added to the IdlArray");
test(function() {
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlDictionary/get_inheritance_stack.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlDictionary/get_inheritance_stack.html
index 1ac9e8da06f..052592dd460 100644
--- a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlDictionary/get_inheritance_stack.html
+++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlDictionary/get_inheritance_stack.html
@@ -19,7 +19,7 @@
test(function() {
var d = dictionaryFrom('dictionary A : B { };');
- assert_throws(new Error(), _ => d.get_inheritance_stack());
+ assert_throws_js(Error, _ => d.get_inheritance_stack());
}, "should throw for dictionaries which inherit from another dictionary which wasn't added to the IdlArray");
test(function() {
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html
index 66b79afc12f..7e9188c7318 100644
--- a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html
+++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html
@@ -19,7 +19,7 @@
test(function() {
var i = interfaceFrom('interface A : B { };');
- assert_throws(new Error(), _ => i.get_inheritance_stack());
+ assert_throws_js(Error, _ => i.get_inheritance_stack());
}, "should throw for interfaces which inherit from another interface which wasn't added to the IdlArray");
test(function() {
diff --git a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/traverse_inherited_and_consequential_interfaces.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/traverse_inherited_and_consequential_interfaces.html
index 400bc35d9fc..94b956db6ee 100644
--- a/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/traverse_inherited_and_consequential_interfaces.html
+++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/IdlInterface/traverse_inherited_and_consequential_interfaces.html
@@ -35,13 +35,13 @@
test(function() {
var context = new IdlArray();
context.add_idls("interface A { }; A includes B;");
- assert_throws(new Error(), _ => context.members["A"].traverse_inherited_and_consequential_interfaces(function() {}));
+ assert_throws_js(Error, _ => context.members["A"].traverse_inherited_and_consequential_interfaces(function() {}));
}, "should throw for interfaces which are extended by another interface which wasn't added to the IdlArray.");
test(function() {
var context = new IdlArray();
context.add_idls("interface A { };");
- assert_throws(new TypeError(), _ => context.members["A"].traverse_inherited_and_consequential_interfaces());
+ assert_throws_js(TypeError, _ => context.members["A"].traverse_inherited_and_consequential_interfaces());
}, "should throw if not passed a callback");
test(function() {
diff --git a/tests/wpt/web-platform-tests/scroll-animations/constructor.html b/tests/wpt/web-platform-tests/scroll-animations/constructor.html
index a449b32d2be..336afd504e5 100644
--- a/tests/wpt/web-platform-tests/scroll-animations/constructor.html
+++ b/tests/wpt/web-platform-tests/scroll-animations/constructor.html
@@ -82,14 +82,14 @@ test(t => {
let constructorFunc = function() {
new ScrollTimeline({orientation: 'nonsense', timeRange: 100})
};
- assert_throws(TypeError(), constructorFunc);
+ assert_throws_js(TypeError, constructorFunc);
// 'auto' for orientation was previously in the spec, but was removed. Make
// sure that implementations do not support it.
constructorFunc = function() {
new ScrollTimeline({orientation: 'auto', timeRange: 100})
};
- assert_throws(TypeError(), constructorFunc);
+ assert_throws_js(TypeError, constructorFunc);
}, 'Creating a ScrollTimeline with an invalid orientation value should throw');
// startScrollOffset and endScrollOffset
@@ -182,7 +182,7 @@ for (const offset of gInvalidScrollOffsetValues) {
new ScrollTimeline(
{timeRange: 100, startScrollOffset: offset, endScrollOffset: offset})
};
- assert_throws(new TypeError(), constructorFunc);
+ assert_throws_js(TypeError, constructorFunc);
}, '\'' + offset + '\' is an invalid scroll offset value');
}
@@ -193,7 +193,7 @@ for (const suffix of gInvalidScrollOffsetSuffixes) {
new ScrollTimeline(
{timeRange: 100, startScrollOffset: offset, endScrollOffset: offset});
};
- assert_throws(new TypeError(), constructorFunc);
+ assert_throws_js(TypeError, constructorFunc);
}, '\'' + suffix + '\' is an invalid scroll offset unit');
}
@@ -230,7 +230,7 @@ for (let timeRange of gInvalidTimeRangeValues) {
const constructorFunc = function() {
new ScrollTimeline({timeRange: timeRange});
};
- assert_throws(new TypeError(), constructorFunc);
+ assert_throws_js(TypeError, constructorFunc);
}, '\'' + timeRange + '\' is an invalid timeRange value');
}
@@ -259,6 +259,6 @@ test(t => {
let constructorFunc = function() {
new ScrollTimeline({fill: 'nonsense', timeRange: 100})
};
- assert_throws(TypeError(), constructorFunc);
+ assert_throws_js(TypeError, constructorFunc);
}, 'Creating a ScrollTimeline with an invalid fill value should throw');
</script>
diff --git a/tests/wpt/web-platform-tests/scroll-animations/setting-current-time.html b/tests/wpt/web-platform-tests/scroll-animations/setting-current-time.html
index 7a77f17509c..dd2abb47d39 100644
--- a/tests/wpt/web-platform-tests/scroll-animations/setting-current-time.html
+++ b/tests/wpt/web-platform-tests/scroll-animations/setting-current-time.html
@@ -53,7 +53,7 @@
await animation.ready;
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
animation.currentTime = null;
});
}, 'Setting animation current time to null throws TypeError.');
diff --git a/tests/wpt/web-platform-tests/selection/collapse.js b/tests/wpt/web-platform-tests/selection/collapse.js
index 7d03f00c8c7..4a816f49564 100644
--- a/tests/wpt/web-platform-tests/selection/collapse.js
+++ b/tests/wpt/web-platform-tests/selection/collapse.js
@@ -9,14 +9,14 @@ function testCollapse(range, point, method) {
}
if (point[0].nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
selection[method](point[0], point[1]);
}, "Must throw INVALID_NODE_TYPE_ERR when " + method + "()ing if the node is a DocumentType");
return;
}
if (point[1] < 0 || point[1] > getNodeLength(point[0])) {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
selection[method](point[0], point[1]);
}, "Must throw INDEX_SIZE_ERR when " + method + "()ing if the offset is negative or greater than the node's length");
return;
diff --git a/tests/wpt/web-platform-tests/selection/collapseToStartEnd.html b/tests/wpt/web-platform-tests/selection/collapseToStartEnd.html
index 07c2b843b40..c2bba3af189 100644
--- a/tests/wpt/web-platform-tests/selection/collapseToStartEnd.html
+++ b/tests/wpt/web-platform-tests/selection/collapseToStartEnd.html
@@ -9,7 +9,7 @@
test(function() {
selection.removeAllRanges();
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
selection.collapseToStart();
});
}, "Must throw InvalidStateErr if the selection's range is null");
diff --git a/tests/wpt/web-platform-tests/selection/extend.js b/tests/wpt/web-platform-tests/selection/extend.js
index a3be628d6c8..d5d199068c5 100644
--- a/tests/wpt/web-platform-tests/selection/extend.js
+++ b/tests/wpt/web-platform-tests/selection/extend.js
@@ -71,7 +71,7 @@ function testExtend(endpoints, target) {
// "If the context object's range is null, throw an InvalidStateError
// exception and abort these steps."
if (getSelection().rangeCount == 0) {
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
selection.extend(node, offset);
}, "extend() when rangeCount is 0 must throw InvalidStateError");
return;
@@ -101,7 +101,7 @@ function testExtend(endpoints, target) {
// From DOM4's "set the start or end of a range": "If node is a doctype,
// throw an "InvalidNodeTypeError" exception and terminate these steps."
if (node.nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
selection.extend(node, offset);
}, "extend() to a doctype must throw InvalidNodeTypeError");
return;
@@ -114,7 +114,7 @@ function testExtend(endpoints, target) {
// FIXME: We should be casting offset to an unsigned int per WebIDL. Until
// we do, we need the offset < 0 check too.
if (offset < 0 || offset > getNodeLength(node)) {
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
selection.extend(node, offset);
}, "extend() to an offset that's greater than node length (" + getNodeLength(node) + ") must throw IndexSizeError");
return;
diff --git a/tests/wpt/web-platform-tests/selection/getRangeAt.html b/tests/wpt/web-platform-tests/selection/getRangeAt.html
index 3c6d7976fa0..466bfd52865 100644
--- a/tests/wpt/web-platform-tests/selection/getRangeAt.html
+++ b/tests/wpt/web-platform-tests/selection/getRangeAt.html
@@ -8,7 +8,7 @@ test(function() {
var sel = getSelection();
var range = document.createRange();
sel.addRange(range);
- assert_throws("INDEX_SIZE_ERR", function() { sel.getRangeAt(-1); })
- assert_throws("INDEX_SIZE_ERR", function() { sel.getRangeAt(1); })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { sel.getRangeAt(-1); })
+ assert_throws_dom("INDEX_SIZE_ERR", function() { sel.getRangeAt(1); })
});
</script>
diff --git a/tests/wpt/web-platform-tests/selection/removeRange.html b/tests/wpt/web-platform-tests/selection/removeRange.html
index 6ddccc66f22..7618a4ac535 100644
--- a/tests/wpt/web-platform-tests/selection/removeRange.html
+++ b/tests/wpt/web-platform-tests/selection/removeRange.html
@@ -30,7 +30,7 @@ testRanges.forEach(function(rangeData, index) {
var equivalentRange = ownerDocument(endpoints[0]).createRange();
equivalentRange.setStart(endpoints[0], endpoints[1]);
equivalentRange.setEnd(endpoints[2], endpoints[3]);
- assert_throws("NotFoundError",
+ assert_throws_dom("NotFoundError",
function() { selection.removeRange(equivalentRange) },
"Removing a different range should throw");
assert_equals(selection.rangeCount, 1, 'Equivalent Range should not remove the registered Range.');
@@ -40,8 +40,8 @@ testRanges.forEach(function(rangeData, index) {
test(function() {
var selection = getSelection();
- assert_throws(new TypeError(), function() { selection.removeRange(null); });
- assert_throws(new TypeError(), function() { selection.removeRange(selection); });
+ assert_throws_js(TypeError, function() { selection.removeRange(null); });
+ assert_throws_js(TypeError, function() { selection.removeRange(selection); });
}, 'removeRange() argument is non-optional Range');
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/selection/selectAllChildren.html b/tests/wpt/web-platform-tests/selection/selectAllChildren.html
index 65a4ff3c6c5..9a472a4b2fe 100644
--- a/tests/wpt/web-platform-tests/selection/selectAllChildren.html
+++ b/tests/wpt/web-platform-tests/selection/selectAllChildren.html
@@ -23,7 +23,7 @@ for (var i = 0; i < testRanges.length; i++) {
: null;
if (node.nodeType == Node.DOCUMENT_TYPE_NODE) {
- assert_throws("INVALID_NODE_TYPE_ERR", function() {
+ assert_throws_dom("INVALID_NODE_TYPE_ERR", function() {
selection.selectAllChildren(node);
}, "selectAllChildren() on a DocumentType must throw InvalidNodeTypeError");
return;
diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js b/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js
index 38d25647b34..6979d96d161 100644
--- a/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js
+++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js
@@ -293,7 +293,7 @@ cache_test(function(cache) {
var response = new Response(test_body);
return cache.put(new Request(test_url), response)
.then(function() {
- assert_throws(new TypeError(), () => response.body.getReader());
+ assert_throws_js(TypeError, () => response.body.getReader());
});
}, 'getReader() after Cache.put');
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js
index 55de70dcf81..42da5825c56 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js
@@ -53,8 +53,9 @@ test(function() {
valueOf: function() { return TEST_OBJECT; } } }).data ==
TEST_OBJECT);
assert_equals(createEvent({ get data(){ return 123; } }).data, 123);
- assert_throws({ name: 'Error' }, function() {
- createEvent({ get data() { throw { name: 'Error' }; } }); });
+ let thrown = { name: 'Error' };
+ assert_throws_exactly(thrown, function() {
+ createEvent({ get data() { throw thrown; } }); });
}, '`data` is specified');
test(function() {
@@ -81,8 +82,9 @@ test(function() {
'[object Object]');
assert_equals(
createEvent({ get origin() { return 123; } }).origin, '123');
- assert_throws({ name: 'Error' }, function() {
- createEvent({ get origin() { throw { name: 'Error' }; } }); });
+ let thrown = { name: 'Error' };
+ assert_throws_exactly(thrown, function() {
+ createEvent({ get origin() { throw thrown; } }); });
}, '`origin` is specified');
test(function() {
@@ -112,8 +114,9 @@ test(function() {
assert_equals(
createEvent({ get lastEventId() { return 123; } }).lastEventId,
'123');
- assert_throws({ name: 'Error' }, function() {
- createEvent({ get lastEventId() { throw { name: 'Error' }; } }); });
+ let thrown = { name: 'Error' };
+ assert_throws_exactly(thrown, function() {
+ createEvent({ get lastEventId() { throw thrown; } }); });
}, '`lastEventId` is specified');
test(function() {
@@ -123,8 +126,8 @@ test(function() {
self.registration.active);
assert_equals(
createEvent({ source: CHANNEL1.port1 }).source, CHANNEL1.port1);
- assert_throws(
- { name: 'TypeError' }, function() { createEvent({ source: this }); },
+ assert_throws_js(
+ TypeError, function() { createEvent({ source: this }); },
'source should be Client or ServiceWorker or MessagePort');
}, '`source` is specified');
@@ -138,36 +141,37 @@ test(function() {
assert_array_equals(createEvent({ ports: undefined }).ports, []);
// Invalid message ports.
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: [1, 2, 3] }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: TEST_OBJECT }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: null }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: this }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: false }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: true }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: '' }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: 'chocolate' }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: 12345 }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: 18446744073709551615 }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ ports: NaN }); });
- assert_throws({ name: 'TypeError' },
+ assert_throws_js(TypeError,
function() { createEvent({ get ports() { return 123; } }); });
- assert_throws({ name: 'Error' }, function() {
- createEvent({ get ports() { throw { name: 'Error' }; } }); });
+ let thrown = { name: 'Error' };
+ assert_throws_exactly(thrown, function() {
+ createEvent({ get ports() { throw thrown; } }); });
// Note that valueOf() is not called, when the left hand side is
// evaluated.
var valueOf = function() { return PORTS; };
- assert_throws({ name: 'TypeError' }, function() {
+ assert_throws_js(TypeError, function() {
createEvent({ ports: { valueOf: valueOf } }); });
}, '`ports` is specified');
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/client-navigate.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/client-navigate.https.html
index 9492335bb29..4ba64e5fd90 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/client-navigate.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/client-navigate.https.html
@@ -82,7 +82,7 @@
.then(({result, url}) => {
assert_equals(result, "test_client_navigate_redirect");
assert_equals(url, "");
- assert_throws("SecurityError", function() { return frame.contentWindow.location.href });
+ assert_throws_dom("SecurityError", function() { return frame.contentWindow.location.href });
frame.remove();
})
.catch(unreached_rejection(t))
@@ -108,7 +108,7 @@
.then(({result, url}) => {
assert_equals(result, "test_client_navigate_cross_origin");
assert_equals(url, "");
- assert_throws("SecurityError", function() { return frame.contentWindow.location.href });
+ assert_throws_dom("SecurityError", function() { return frame.contentWindow.location.href });
frame.remove();
})
.catch(unreached_rejection(t))
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/detached-context.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/detached-context.https.html
index f96370d2010..c9015b80930 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/detached-context.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/detached-context.https.html
@@ -79,8 +79,8 @@ promise_test(t => {
assert_equals(worker.scriptURL, normalizeURL(script));
assert_equals(worker.state, 'activated');
worker.onstatechange = () => { /* empty */ };
- assert_throws(
- { name: 'InvalidStateError' },
+ assert_throws_dom(
+ 'InvalidStateError',
() => { worker.postMessage(''); },
'postMessage on a detached client should throw an exception.');
});
@@ -117,7 +117,7 @@ test(t => {
}
assert_not_equals(get_navigator().serviceWorker, null);
iframe.remove();
- assert_throws({name: 'TypeError'}, () => get_navigator());
+ assert_throws_js(TypeError, () => get_navigator());
}, 'accessing navigator on a removed frame');
// It seems weird that about:blank and blank.html (the test above) have
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html
index 4e233053729..dab2153baa6 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html
@@ -52,6 +52,6 @@ promise_test(async (t) => {
// ... the opaque image taints the canvas.
context.drawImage(opaqueImage, 0, 0);
- assert_throws('SecurityError', () => { canvas.toDataURL(); });
+ assert_throws_dom('SecurityError', () => { canvas.toDataURL(); });
}, 'canvas is tainted after writing both a non-opaque image and an opaque image from the same URL');
</script>
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https.html
index 2cdfdea996f..5d9db5cb466 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https.html
@@ -61,7 +61,7 @@ promise_test(async t => {
const f = await with_iframe(PAGE);
t.add_cleanup(() => {f.remove(); });
- assert_throws('SecurityError', () => {
+ assert_throws_dom('SecurityError', () => {
f.contentDocument.styleSheets[0].cssRules[0].cssText;
});
assert_equals(
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/multipart-image.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/multipart-image.https.html
index 9bdadff21fb..75865172c60 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/multipart-image.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/multipart-image.https.html
@@ -56,7 +56,7 @@ promise_test(t => {
promise_test(t => {
return frame.contentWindow.load_multipart_image('cross-origin-multipart-image-with-no-cors')
.then(img => {
- assert_throws('SecurityError', () => frame.contentWindow.get_image_data(img));
+ assert_throws_dom('SecurityError', () => frame.contentWindow.get_image_data(img));
});
}, 'cross-origin multipart image with no-cors via SW should not be readable');
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/import-scripts-mime-types-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/import-scripts-mime-types-worker.js
index 2c585ac1060..d4f1f3e26d8 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/import-scripts-mime-types-worker.js
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/import-scripts-mime-types-worker.js
@@ -30,7 +30,7 @@ importScripts('/resources/testharness.js');
for (const mimeType of badMimeTypes) {
test(() => {
- assert_throws(
+ assert_throws_dom(
'NetworkError',
() => { importScriptsWithMimeType(mimeType); },
`importScripts with ${mimeType ? 'bad' : 'no'} MIME type ${mimeType || ''} throws NetworkError`,
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/service-worker-csp-worker.py b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/service-worker-csp-worker.py
index 9d2b1f2d834..7b0c13feba9 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/service-worker-csp-worker.py
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/service-worker-csp-worker.py
@@ -18,10 +18,10 @@ test(function() {
}, 'importScripts test for default-src');
test(function() {
- assert_throws(EvalError(),
+ assert_throws_js(EvalError,
function() { eval('1 + 1'); },
'eval() should throw EvalError.')
- assert_throws(EvalError(),
+ assert_throws_js(EvalError,
function() { new Function('1 + 1'); },
'new Function() should throw EvalError.')
}, 'eval test for default-src');
@@ -73,10 +73,10 @@ test(function() {
}, 'importScripts test for script-src');
test(function() {
- assert_throws(EvalError(),
+ assert_throws_js(EvalError,
function() { eval('1 + 1'); },
'eval() should throw EvalError.')
- assert_throws(EvalError(),
+ assert_throws_js(EvalError,
function() { new Function('1 + 1'); },
'new Function() should throw EvalError.')
}, 'eval test for script-src');
diff --git a/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-adoptNode.html b/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-adoptNode.html
index e9b07d0c809..6afd603618d 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-adoptNode.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-adoptNode.html
@@ -15,7 +15,7 @@
function testAdoptNode(mode) {
test(function () {
var newDocument = document.implementation.createHTMLDocument();
- assert_throws({'name': 'HierarchyRequestError'}, function () {
+ assert_throws_dom('HierarchyRequestError', function () {
var element = document.createElement('div');
var shadowRoot = element.attachShadow({mode: mode});
newDocument.adoptNode(shadowRoot);
diff --git a/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-importNode.html b/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-importNode.html
index 4566e4e8358..f71f8dc6c5e 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-importNode.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-importNode.html
@@ -15,7 +15,7 @@
function testImportNode(mode) {
test(function () {
var newDocument = document.implementation.createHTMLDocument();
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
var element = document.createElement('div');
var shadowRoot = element.attachShadow({mode: mode});
newDocument.importNode(shadowRoot);
diff --git a/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element.html b/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element.html
index 8f2913450d4..11ae277c412 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element.html
@@ -28,18 +28,18 @@ test(() => {
element.attachShadow({mode: 'closed'});
// No definition and it's already a host.
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
element.attachShadow({mode: 'closed'});
}, 'No definition, host');
// The element has a definition, and it's already a host.
customElements.define('shadow-disabled-element', ShadowDisabledElement);
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
element.attachShadow({mode: 'closed'});
}, 'Definition, host');
// The element has a definition, and it's not a host.
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
document.createElement('shadow-disabled-element').attachShadow({mode: 'closed'});
}, 'Definition, not a host');
}, 'Element.attachShadow for an autonomous custom element with ' +
@@ -56,20 +56,20 @@ test(() => {
element.attachShadow({mode: 'closed'});
// No definition and it's already a host.
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
element.attachShadow({mode: 'closed'});
}, 'No definition, host.');
// The element has a definition, and it's already a host.
customElements.define('shadow-disabled-heading-element',
ShadowDisabledHeadingElement, {extends: 'h2'});
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
element.attachShadow({mode: 'closed'});
}, 'Definition, host');
// The element has a definition, and it's not a host.
let h2 = document.createElement('h2', {is: 'shadow-disabled-heading-element'});
- assert_throws('NotSupportedError', () => {
+ assert_throws_dom('NotSupportedError', () => {
h2.attachShadow({mode: 'closed'});
}, 'Definition, not a host');
}, 'Element.attachShadow for a customized built-in element with ' +
@@ -92,7 +92,7 @@ class MyCustomizedBuiltinElement extends HTMLInputElement {
customElements.define('my-input', MyCustomizedBuiltinElement, { extends: 'input' });
test(() => {
- assert_throws({'name': 'NotSupportedError'}, () => {
+ assert_throws_dom('NotSupportedError', () => {
document.createElement('input', {is: 'my-input'}).attachShadow({mode: "open"});
});
}, 'Element.attachShadow must throw a NotSupportedError for customized built-in elements');
diff --git a/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow.html b/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow.html
index 304b64cd466..858dec4cb9f 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/Element-interface-attachShadow.html
@@ -32,15 +32,15 @@ test(function () {
}, 'Nodes other than Element should not have attachShadow');
test(function () {
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
document.createElement('div').attachShadow({})
}, 'attachShadow must throw a TypeError when mode is omitted');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
document.createElement('div').attachShadow({mode: true})
}, 'attachShadow must throw a TypeError when mode is a boolean');
- assert_throws({'name': 'TypeError'}, function () {
+ assert_throws_js(TypeError, function () {
document.createElement('div').attachShadow({mode: 1})
}, 'attachShadow must throw a TypeError when mode is 1');
}, 'Element.attachShadow must throw a TypeError if mode is not "open" or "closed"');
@@ -53,25 +53,25 @@ test(function () {
}, 'Element.attachShadow must create an instance of ShadowRoot');
test(function () {
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
var div = document.createElement('div');
div.attachShadow({mode: "open"});
div.attachShadow({mode: "open"});
}, 'Calling attachShadow({mode: "open"}) twice on the same element must throw');
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
var div = document.createElement('div');
div.attachShadow({mode: "closed"});
div.attachShadow({mode: "closed"});
}, 'Calling attachShadow({mode: "closed"}) twice on the same element must throw');
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
var div = document.createElement('div');
div.attachShadow({mode: "open"});
div.attachShadow({mode: "closed"});
}, 'Calling attachShadow({mode: "closed"}) after attachShadow({mode: "open"}) on the same element must throw');
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
var div = document.createElement('div');
div.attachShadow({mode: "closed"});
div.attachShadow({mode: "open"});
@@ -80,11 +80,11 @@ test(function () {
test(function () {
for (var elementName of ATTACHSHADOW_DISALLOWED_ELEMENTS) {
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
document.createElement(elementName).attachShadow({mode: "open"});
}, 'Calling attachShadow({mode: "open"}) on ' + elementName + ' element must throw');
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
document.createElement(elementName).attachShadow({mode: "closed"});
}, 'Calling attachShadow({mode: "closed"}) on ' + elementName + ' element must throw');
}
diff --git a/tests/wpt/web-platform-tests/shadow-dom/Node-prototype-cloneNode.html b/tests/wpt/web-platform-tests/shadow-dom/Node-prototype-cloneNode.html
index 6c6b24bc0ee..0ee47d492e5 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/Node-prototype-cloneNode.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/Node-prototype-cloneNode.html
@@ -14,13 +14,13 @@
function testCloneNode(mode) {
test(function () {
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
var element = document.createElement('div');
var shadowRoot = element.attachShadow({mode: mode});
shadowRoot.cloneNode(false);
}, 'cloneNode(false) on a shadow root in ' + mode + ' mode must throw a NotSupportedError');
- assert_throws({'name': 'NotSupportedError'}, function () {
+ assert_throws_dom('NotSupportedError', function () {
var element = document.createElement('div');
var shadowRoot = element.attachShadow({mode: mode});
shadowRoot.cloneNode(false);
diff --git a/tests/wpt/web-platform-tests/shadow-dom/ShadowRoot-interface.html b/tests/wpt/web-platform-tests/shadow-dom/ShadowRoot-interface.html
index bda361e5987..8efa50e4ea1 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/ShadowRoot-interface.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/ShadowRoot-interface.html
@@ -21,7 +21,7 @@ test(function () {
}, 'ShadowRoot must inherit from DocumentFragment');
test(function () {
- assert_throws({'name': 'TypeError'}, function () { new ShadowRoot(); }, 'new ShadowRoot() must throw a TypeError');
+ assert_throws_js(TypeError, function () { new ShadowRoot(); }, 'new ShadowRoot() must throw a TypeError');
}, 'ShadowRoot must not be a constructor');
function testActiveElement(mode) {
diff --git a/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisErrorEvent-constructor.html b/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisErrorEvent-constructor.html
index 61e179cca47..abefbf9a51c 100644
--- a/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisErrorEvent-constructor.html
+++ b/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisErrorEvent-constructor.html
@@ -11,33 +11,33 @@ interface SpeechSynthesisErrorEvent : SpeechSynthesisErrorEvent {
};
*/
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisErrorEvent();
});
}, "SpeechSynthesisErrorEvent with no arguments throws TypeError");
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisErrorEvent("type");
});
}, "SpeechSynthesisErrorEvent with no eventInitDict throws TypeError");
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisErrorEvent("type", {});
});
}, `SpeechSynthesisErrorEvent with empty eventInitDict throws TypeError (requires
utterance and error)`);
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisErrorEvent("type", {error:"not-allowed"});
});
}, `SpeechSynthesisErrorEvent with eventInitDict without utterance throws
TypeError`);
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisErrorEvent("type", {utterance: new SpeechSynthesisUtterance()});
});
}, `SpeechSynthesisErrorEvent with eventInitDict without error throws
@@ -81,8 +81,8 @@ test(() => {
});
};
};
- assert_throws(new TypeError(), createEventFunc(""));
- assert_throws(new TypeError(), createEventFunc("foo"));
- assert_throws(new TypeError(), createEventFunc("bar"));
+ assert_throws_js(TypeError, createEventFunc(""));
+ assert_throws_js(TypeError, createEventFunc("foo"));
+ assert_throws_js(TypeError, createEventFunc("bar"));
}, "SpeechSynthesisErrorEvent with wrong error enum");
</script>
diff --git a/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisEvent-constructor.html b/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisEvent-constructor.html
index 3ad6886b0aa..e6b29683f79 100644
--- a/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisEvent-constructor.html
+++ b/tests/wpt/web-platform-tests/speech-api/SpeechSynthesisEvent-constructor.html
@@ -14,26 +14,26 @@ interface SpeechSynthesisEvent : Event {
};
*/
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisEvent();
});
}, "SpeechSynthesisEvent with no arguments throws TypeError");
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisEvent("type");
});
}, "SpeechSynthesisEvent with no eventInitDict throws TypeError");
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisEvent("type", {});
});
}, `SpeechSynthesisEvent with empty eventInitDict throws TypeError (requires
utterance)`);
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new SpeechSynthesisEvent("type", {charIndex: 10, elapsedTime: 50, name:"foo"});
});
}, `SpeechSynthesisEvent with eventInitDict not having utterance throws
diff --git a/tests/wpt/web-platform-tests/std-toast/actions.html b/tests/wpt/web-platform-tests/std-toast/actions.html
index d07e5fd3d62..6a80def0998 100644
--- a/tests/wpt/web-platform-tests/std-toast/actions.html
+++ b/tests/wpt/web-platform-tests/std-toast/actions.html
@@ -122,14 +122,14 @@ testActionToast((toast, action) => {
testToastElement((toast) => {
const text = document.createTextNode('some text');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
toast.action = text;
});
}, 'setting the action to an invalid type (Text node) throws an error');
testToastElement((toast) => {
const text = 'some text';
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
toast.action = text;
});
}, 'setting the action to an invalid type (string) throws an error');
@@ -171,7 +171,7 @@ test(() => {
const fakeElement = {};
const toast = showToast('Message');
- assert_throws(new TypeError(), () => toast.action = fakeElement);
+ assert_throws_js(TypeError, () => toast.action = fakeElement);
} finally {
delete Element[Symbol.hasInstance];
}
diff --git a/tests/wpt/web-platform-tests/std-toast/options.html b/tests/wpt/web-platform-tests/std-toast/options.html
index 9f53bf88601..0383d71f9ae 100644
--- a/tests/wpt/web-platform-tests/std-toast/options.html
+++ b/tests/wpt/web-platform-tests/std-toast/options.html
@@ -116,13 +116,13 @@ async_test(t => {
}, 'passing Infinity as the duration leaves the toast open for at least 50ms');
test(() => {
- assert_throws(new RangeError(), () => {
+ assert_throws_js(RangeError, () => {
const toast = showToast('Message', {duration: 0});
});
}, 'setting the duration to 0 throws a RangeError');
test(() => {
- assert_throws(new RangeError(), () => {
+ assert_throws_js(RangeError, () => {
const toast = showToast('Message', {duration: -5});
});
}, 'setting the duration to a negative number throws a RangeError');
diff --git a/tests/wpt/web-platform-tests/streams/byte-length-queuing-strategy.any.js b/tests/wpt/web-platform-tests/streams/byte-length-queuing-strategy.any.js
index 6a61adcdc96..5cb3f5e87c5 100644
--- a/tests/wpt/web-platform-tests/streams/byte-length-queuing-strategy.any.js
+++ b/tests/wpt/web-platform-tests/streams/byte-length-queuing-strategy.any.js
@@ -27,9 +27,9 @@ test(() => {
get highWaterMark() { throw error; }
};
- assert_throws({ name: 'TypeError' }, () => new ByteLengthQueuingStrategy(), 'construction fails with undefined');
- assert_throws({ name: 'TypeError' }, () => new ByteLengthQueuingStrategy(null), 'construction fails with null');
- assert_throws({ name: 'Error' }, () => new ByteLengthQueuingStrategy(highWaterMarkObjectGetterThrowing),
+ assert_throws_js(TypeError, () => new ByteLengthQueuingStrategy(), 'construction fails with undefined');
+ assert_throws_js(TypeError, () => new ByteLengthQueuingStrategy(null), 'construction fails with null');
+ assert_throws_js(Error, () => new ByteLengthQueuingStrategy(highWaterMarkObjectGetterThrowing),
'construction fails with an object with a throwing highWaterMark getter');
// Should not fail:
@@ -50,8 +50,8 @@ test(() => {
const chunkGetterThrowing = {
get byteLength() { throw error; }
};
- assert_throws({ name: 'TypeError' }, () => ByteLengthQueuingStrategy.prototype.size(), 'size fails with undefined');
- assert_throws({ name: 'TypeError' }, () => ByteLengthQueuingStrategy.prototype.size(null), 'size fails with null');
+ assert_throws_js(TypeError, () => ByteLengthQueuingStrategy.prototype.size(), 'size fails with undefined');
+ assert_throws_js(TypeError, () => ByteLengthQueuingStrategy.prototype.size(null), 'size fails with null');
assert_equals(ByteLengthQueuingStrategy.prototype.size('potato'), undefined,
'size succeeds with undefined with a random non-object type');
assert_equals(ByteLengthQueuingStrategy.prototype.size({}), undefined,
@@ -60,7 +60,7 @@ test(() => {
'size succeeds with the right amount with an object with a hwm');
assert_equals(ByteLengthQueuingStrategy.prototype.size(chunkGetter), size,
'size succeeds with the right amount with an object with a hwm getter');
- assert_throws({ name: 'Error' }, () => ByteLengthQueuingStrategy.prototype.size(chunkGetterThrowing),
+ assert_throws_js(Error, () => ByteLengthQueuingStrategy.prototype.size(chunkGetterThrowing),
'size fails with the error thrown by the getter');
}, 'ByteLengthQueuingStrategy size behaves as expected with strange arguments');
diff --git a/tests/wpt/web-platform-tests/streams/count-queuing-strategy.any.js b/tests/wpt/web-platform-tests/streams/count-queuing-strategy.any.js
index 5aae61eda33..f36bdc5790d 100644
--- a/tests/wpt/web-platform-tests/streams/count-queuing-strategy.any.js
+++ b/tests/wpt/web-platform-tests/streams/count-queuing-strategy.any.js
@@ -27,9 +27,9 @@ test(() => {
get highWaterMark() { throw error; }
};
- assert_throws({ name: 'TypeError' }, () => new CountQueuingStrategy(), 'construction fails with undefined');
- assert_throws({ name: 'TypeError' }, () => new CountQueuingStrategy(null), 'construction fails with null');
- assert_throws({ name: 'Error' }, () => new CountQueuingStrategy(highWaterMarkObjectGetterThrowing),
+ assert_throws_js(TypeError, () => new CountQueuingStrategy(), 'construction fails with undefined');
+ assert_throws_js(TypeError, () => new CountQueuingStrategy(null), 'construction fails with null');
+ assert_throws_js(Error, () => new CountQueuingStrategy(highWaterMarkObjectGetterThrowing),
'construction fails with an object with a throwing highWaterMark getter');
// Should not fail:
diff --git a/tests/wpt/web-platform-tests/streams/piping/pipe-through.any.js b/tests/wpt/web-platform-tests/streams/piping/pipe-through.any.js
index 92d1394ca2f..e6959b6c12a 100644
--- a/tests/wpt/web-platform-tests/streams/piping/pipe-through.any.js
+++ b/tests/wpt/web-platform-tests/streams/piping/pipe-through.any.js
@@ -99,7 +99,7 @@ test(t => {
const badReadables = [null, undefined, 0, NaN, true, 'ReadableStream', Object.create(ReadableStream.prototype)];
for (const readable of badReadables) {
test(() => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
ReadableStream.prototype.pipeThrough.bind(readable, uninterestingReadableWritablePair()),
'pipeThrough should throw');
}, `pipeThrough should brand-check this and not allow '${readable}'`);
@@ -108,7 +108,7 @@ for (const readable of badReadables) {
const rs = new ReadableStream();
const writable = new WritableStream();
let writableGetterCalled = false;
- assert_throws(new TypeError(), () => rs.pipeThrough({
+ assert_throws_js(TypeError, () => rs.pipeThrough({
get writable() {
writableGetterCalled = true;
return new WritableStream();
@@ -129,7 +129,7 @@ for (const writable of badWritables) {
}
});
let readableGetterCalled = false;
- assert_throws(new TypeError(), () => rs.pipeThrough({
+ assert_throws_js(TypeError, () => rs.pipeThrough({
get readable() {
readableGetterCalled = true;
return new ReadableStream();
@@ -155,9 +155,9 @@ test(t => {
throw error;
}
};
- assert_throws(error,
- () => ReadableStream.prototype.pipeThrough.call(rs, throwingWritable, {}),
- 'pipeThrough should rethrow the error thrown by the writable getter');
+ assert_throws_exactly(error,
+ () => ReadableStream.prototype.pipeThrough.call(rs, throwingWritable, {}),
+ 'pipeThrough should rethrow the error thrown by the writable getter');
const throwingReadable = {
get readable() {
@@ -165,9 +165,9 @@ test(t => {
},
writable: {}
};
- assert_throws(error,
- () => ReadableStream.prototype.pipeThrough.call(rs, throwingReadable, {}),
- 'pipeThrough should rethrow the error thrown by the readable getter');
+ assert_throws_exactly(error,
+ () => ReadableStream.prototype.pipeThrough.call(rs, throwingReadable, {}),
+ 'pipeThrough should rethrow the error thrown by the readable getter');
}, 'pipeThrough should rethrow errors from accessing readable or writable');
@@ -175,7 +175,7 @@ const badSignals = [null, 0, NaN, true, 'AbortSignal', Object.create(AbortSignal
for (const signal of badSignals) {
test(() => {
const rs = new ReadableStream();
- assert_throws(new TypeError(), () => rs.pipeThrough(uninterestingReadableWritablePair(), { signal }),
+ assert_throws_js(TypeError, () => rs.pipeThrough(uninterestingReadableWritablePair(), { signal }),
'pipeThrough should throw');
}, `invalid values of signal should throw; specifically '${signal}'`);
}
@@ -190,7 +190,7 @@ test(() => {
test(() => {
const rs = new ReadableStream();
rs.getReader();
- assert_throws(new TypeError(), () => rs.pipeThrough(uninterestingReadableWritablePair()),
+ assert_throws_js(TypeError, () => rs.pipeThrough(uninterestingReadableWritablePair()),
'pipeThrough should throw');
}, 'pipeThrough should throw if this is locked');
@@ -199,7 +199,7 @@ test(() => {
const writable = new WritableStream();
const readable = new ReadableStream();
writable.getWriter();
- assert_throws(new TypeError(), () => rs.pipeThrough({writable, readable}),
+ assert_throws_js(TypeError, () => rs.pipeThrough({writable, readable}),
'pipeThrough should throw');
}, 'pipeThrough should throw if writable is locked');
@@ -258,7 +258,7 @@ test(() => {
const rs = new ReadableStream();
const readable = new ReadableStream();
const writable = new WritableStream();
- assert_throws(new TypeError(), () => rs.pipeThrough({readable, writable}, {
+ assert_throws_js(TypeError, () => rs.pipeThrough({readable, writable}, {
get preventAbort() {
writable.getWriter();
}
diff --git a/tests/wpt/web-platform-tests/streams/piping/throwing-options.any.js b/tests/wpt/web-platform-tests/streams/piping/throwing-options.any.js
index 6fab32cc6dc..68fac571114 100644
--- a/tests/wpt/web-platform-tests/streams/piping/throwing-options.any.js
+++ b/tests/wpt/web-platform-tests/streams/piping/throwing-options.any.js
@@ -53,8 +53,8 @@ for (let i = 0; i < checkOrder.length; ++i) {
test(() => {
const options = new ThrowingOptions(whatShouldThrow);
- assert_throws(
- new Error(),
+ assert_throws_js(
+ Error,
() => new ReadableStream().pipeThrough(new TransformStream(), options),
'pipeThrough should throw');
assert_array_equals(
diff --git a/tests/wpt/web-platform-tests/streams/readable-byte-streams/brand-checks.any.js b/tests/wpt/web-platform-tests/streams/readable-byte-streams/brand-checks.any.js
index e4d5e26e843..9bbe7111ea8 100644
--- a/tests/wpt/web-platform-tests/streams/readable-byte-streams/brand-checks.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-byte-streams/brand-checks.any.js
@@ -72,7 +72,7 @@ function realRBSController() {
test(() => {
- assert_throws(new TypeError(), () => new ReadableStreamBYOBReader(fakeRS()), 'constructor should throw');
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBReader(fakeRS()), 'constructor should throw');
}, 'ReadableStreamBYOBReader enforces a brand check on its argument');
@@ -106,14 +106,14 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => new ReadableByteStreamController(fakeRS()),
+ assert_throws_js(TypeError, () => new ReadableByteStreamController(fakeRS()),
'Constructing a ReadableByteStreamController should throw');
}, 'ReadableByteStreamController enforces a brand check on its arguments');
test(() => {
- assert_throws(new TypeError(), () => new ReadableByteStreamController(realRS()),
+ assert_throws_js(TypeError, () => new ReadableByteStreamController(realRS()),
'Constructing a ReadableByteStreamController should throw');
}, 'ReadableByteStreamController can\'t be given a fully-constructed ReadableStream');
@@ -174,7 +174,7 @@ promise_test(t => {
function brandChecks() {
for (const badController of [fakeRBSController(), realRS(), realRSBYOBReader(), undefined, null]) {
- assert_throws(new TypeError(), () => new ReadableStreamBYOBRequest(badController, new Uint8Array(1)),
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBRequest(badController, new Uint8Array(1)),
'ReadableStreamBYOBRequest constructor must throw for an invalid controller argument');
}
getterThrowsForAll(ReadableStreamBYOBRequest.prototype, 'view',
diff --git a/tests/wpt/web-platform-tests/streams/readable-byte-streams/construct-byob-request.any.js b/tests/wpt/web-platform-tests/streams/readable-byte-streams/construct-byob-request.any.js
index 428cdeb76ae..2e1c53fdea8 100644
--- a/tests/wpt/web-platform-tests/streams/readable-byte-streams/construct-byob-request.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-byte-streams/construct-byob-request.any.js
@@ -48,7 +48,7 @@ function runTests(ReadableStreamBYOBRequest) {
for (const viewType of dummyTypes) {
const view = createDummyObject(Uint8Array.prototype, viewType, () => new Uint8Array(16));
test(() => {
- assert_throws(new TypeError(), () => new ReadableStreamBYOBRequest(controller, view),
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBRequest(controller, view),
'constructor should throw');
}, `ReadableStreamBYOBRequest constructor should throw when passed a ${controllerType} ` +
`ReadableByteStreamController and a ${viewType} view`);
diff --git a/tests/wpt/web-platform-tests/streams/readable-byte-streams/detached-buffers.any.js b/tests/wpt/web-platform-tests/streams/readable-byte-streams/detached-buffers.any.js
index 7d87173f0a0..e37db6a0d87 100644
--- a/tests/wpt/web-platform-tests/streams/readable-byte-streams/detached-buffers.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-byte-streams/detached-buffers.any.js
@@ -52,7 +52,7 @@ test(() => {
start(c) {
const view = new Uint8Array([1, 2, 3]);
c.enqueue(view);
- assert_throws(new TypeError(), () => c.enqueue(view), 'enqueuing an already-detached buffer must throw');
+ assert_throws_js(TypeError, () => c.enqueue(view), 'enqueuing an already-detached buffer must throw');
},
type: 'bytes'
});
@@ -81,7 +81,7 @@ async_test(t => {
// Detach it by reading into it
reader.read(c.byobRequest.view);
- assert_throws(new TypeError(), () => c.byobRequest.respond(1),
+ assert_throws_js(TypeError, () => c.byobRequest.respond(1),
'respond() must throw if the corresponding view has become detached');
}),
type: 'bytes'
@@ -100,7 +100,7 @@ async_test(t => {
c.close();
- assert_throws(new TypeError(), () => c.byobRequest.respond(0),
+ assert_throws_js(TypeError, () => c.byobRequest.respond(0),
'respond() must throw if the corresponding view has become detached');
}),
type: 'bytes'
@@ -118,7 +118,7 @@ async_test(t => {
const view = new Uint8Array([1, 2, 3]);
reader.read(view);
- assert_throws(new TypeError(), () => c.byobRequest.respondWithNewView(view),
+ assert_throws_js(TypeError, () => c.byobRequest.respondWithNewView(view),
'respondWithNewView() must throw if passed a detached view');
}),
type: 'bytes'
@@ -139,7 +139,7 @@ async_test(t => {
c.close();
const zeroLengthView = new Uint8Array(view.buffer, 0, 0);
- assert_throws(new TypeError(), () => c.byobRequest.respondWithNewView(zeroLengthView),
+ assert_throws_js(TypeError, () => c.byobRequest.respondWithNewView(zeroLengthView),
'respondWithNewView() must throw if passed a (zero-length) view whose buffer has been detached');
}),
type: 'bytes'
diff --git a/tests/wpt/web-platform-tests/streams/readable-byte-streams/general.any.js b/tests/wpt/web-platform-tests/streams/readable-byte-streams/general.any.js
index c8f1fb7864e..1947ededb66 100644
--- a/tests/wpt/web-platform-tests/streams/readable-byte-streams/general.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-byte-streams/general.any.js
@@ -7,7 +7,7 @@ const error1 = new Error('error1');
error1.name = 'error1';
test(() => {
- assert_throws(new TypeError(), () => new ReadableStream().getReader({ mode: 'byob' }));
+ assert_throws_js(TypeError, () => new ReadableStream().getReader({ mode: 'byob' }));
}, 'getReader({mode: "byob"}) throws on non-bytes streams');
@@ -179,7 +179,7 @@ promise_test(t => {
const reader = stream.getReader();
return reader.closed.then(() => {
- assert_throws(new TypeError(), () => stream.getReader(), 'getReader() must throw');
+ assert_throws_js(TypeError, () => stream.getReader(), 'getReader() must throw');
});
}, 'ReadableStream with byte source: Test that closing a stream does not release a reader automatically');
@@ -195,7 +195,7 @@ promise_test(t => {
const reader = stream.getReader({ mode: 'byob' });
return reader.closed.then(() => {
- assert_throws(new TypeError(), () => stream.getReader({ mode: 'byob' }), 'getReader() must throw');
+ assert_throws_js(TypeError, () => stream.getReader({ mode: 'byob' }), 'getReader() must throw');
});
}, 'ReadableStream with byte source: Test that closing a stream does not release a BYOB reader automatically');
@@ -211,7 +211,7 @@ promise_test(t => {
const reader = stream.getReader();
return promise_rejects(t, error1, reader.closed, 'closed must reject').then(() => {
- assert_throws(new TypeError(), () => stream.getReader(), 'getReader() must throw');
+ assert_throws_js(TypeError, () => stream.getReader(), 'getReader() must throw');
});
}, 'ReadableStream with byte source: Test that erroring a stream does not release a reader automatically');
@@ -227,7 +227,7 @@ promise_test(t => {
const reader = stream.getReader({ mode: 'byob' });
return promise_rejects(t, error1, reader.closed, 'closed must reject').then(() => {
- assert_throws(new TypeError(), () => stream.getReader({ mode: 'byob' }), 'getReader() must throw');
+ assert_throws_js(TypeError, () => stream.getReader({ mode: 'byob' }), 'getReader() must throw');
});
}, 'ReadableStream with byte source: Test that erroring a stream does not release a BYOB reader automatically');
@@ -238,7 +238,7 @@ test(() => {
const reader = stream.getReader();
reader.read();
- assert_throws(new TypeError(), () => reader.releaseLock(), 'reader.releaseLock() must throw');
+ assert_throws_js(TypeError, () => reader.releaseLock(), 'reader.releaseLock() must throw');
}, 'ReadableStream with byte source: releaseLock() on ReadableStreamReader with pending read() must throw');
promise_test(() => {
@@ -551,7 +551,7 @@ promise_test(() => {
}, 'ReadableStream with byte source: Push source that doesn\'t understand pull signal');
test(() => {
- assert_throws(new TypeError(), () => new ReadableStream({
+ assert_throws_js(TypeError, () => new ReadableStream({
pull: 'foo',
type: 'bytes'
}), 'constructor should throw');
@@ -1446,7 +1446,7 @@ promise_test(t => {
const readPromise = reader.read(new Uint16Array(1));
- assert_throws(new TypeError(), () => controller.close(), 'controller.close() must throw');
+ assert_throws_js(TypeError, () => controller.close(), 'controller.close() must throw');
return promise_rejects(t, new TypeError(), readPromise, 'read(view) must fail')
.then(() => promise_rejects(t, new TypeError(), reader.closed, 'reader.closed must reject'));
@@ -1469,7 +1469,7 @@ test(() => {
controller.enqueue(view);
controller.close();
- assert_throws(new TypeError(), () => controller.close(), 'controller.close() must throw');
+ assert_throws_js(TypeError, () => controller.close(), 'controller.close() must throw');
}, 'ReadableStream with byte source: Throw if close()-ed more than once');
test(() => {
@@ -1488,7 +1488,7 @@ test(() => {
controller.enqueue(view);
controller.close();
- assert_throws(new TypeError(), () => controller.enqueue(view), 'controller.close() must throw');
+ assert_throws_js(TypeError, () => controller.enqueue(view), 'controller.close() must throw');
}, 'ReadableStream with byte source: Throw on enqueue() after close()');
promise_test(() => {
@@ -1973,7 +1973,7 @@ promise_test(() => {
const reader = rs.getReader({ mode: 'byob' });
const view = new Uint8Array(16);
return reader.read(view).then(() => {
- assert_throws(new TypeError(), () => byobRequest.respond(4), 'respond() should throw a TypeError');
+ assert_throws_js(TypeError, () => byobRequest.respond(4), 'respond() should throw a TypeError');
});
}, 'calling respond() twice on the same byobRequest should throw');
@@ -1989,7 +1989,7 @@ promise_test(() => {
});
const reader = rs.getReader({ mode: 'byob' });
return reader.read(newView()).then(() => {
- assert_throws(new TypeError(), () => byobRequest.respondWithNewView(newView()),
+ assert_throws_js(TypeError, () => byobRequest.respondWithNewView(newView()),
'respondWithNewView() should throw a TypeError');
});
}, 'calling respondWithNewView() twice on the same byobRequest should throw');
@@ -2018,7 +2018,7 @@ promise_test(() => {
resolvePull();
byobRequest.respond(0);
return Promise.all([readPromise, cancelPromise]).then(() => {
- assert_throws(new TypeError(), () => byobRequest.respond(0), 'respond() should throw');
+ assert_throws_js(TypeError, () => byobRequest.respond(0), 'respond() should throw');
});
});
}, 'calling respond(0) twice on the same byobRequest should throw even when closed');
@@ -2043,7 +2043,7 @@ promise_test(() => {
return pullCalledPromise.then(() => {
resolvePull();
return delay(0).then(() => {
- assert_throws(new TypeError(), () => reader.releaseLock(), 'releaseLock() should throw');
+ assert_throws_js(TypeError, () => reader.releaseLock(), 'releaseLock() should throw');
});
});
}, 'pull() resolving should not make releaseLock() possible');
@@ -2078,37 +2078,37 @@ test(() => {
test(() => {
const ReadableStreamBYOBReader = new ReadableStream({ type: 'bytes' }).getReader({ mode: 'byob' }).constructor;
- assert_throws(new TypeError(), () => new ReadableStreamBYOBReader({}), 'constructor must throw');
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBReader({}), 'constructor must throw');
}, 'ReadableStreamBYOBReader constructor requires a ReadableStream argument');
test(() => {
const ReadableStreamBYOBReader = new ReadableStream({ type: 'bytes' }).getReader({ mode: 'byob' }).constructor;
const stream = new ReadableStream({ type: 'bytes' });
stream.getReader();
- assert_throws(new TypeError(), () => new ReadableStreamBYOBReader(stream), 'constructor must throw');
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBReader(stream), 'constructor must throw');
}, 'ReadableStreamBYOBReader constructor requires an unlocked ReadableStream');
test(() => {
const ReadableStreamBYOBReader = new ReadableStream({ type: 'bytes' }).getReader({ mode: 'byob' }).constructor;
const stream = new ReadableStream();
- assert_throws(new TypeError(), () => new ReadableStreamBYOBReader(stream), 'constructor must throw');
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBReader(stream), 'constructor must throw');
}, 'ReadableStreamBYOBReader constructor requires a ReadableStream with type "bytes"');
test(() => {
- assert_throws(new RangeError(), () => new ReadableStream({ type: 'bytes' }, {
+ assert_throws_js(RangeError, () => new ReadableStream({ type: 'bytes' }, {
size() {
return 1;
}
}), 'constructor should throw for size function');
- assert_throws(new RangeError(), () => new ReadableStream({ type: 'bytes' }, { size: null }),
+ assert_throws_js(RangeError, () => new ReadableStream({ type: 'bytes' }, { size: null }),
'constructor should throw for size defined');
- assert_throws(new RangeError(),
+ assert_throws_js(RangeError,
() => new ReadableStream({ type: 'bytes' }, new CountQueuingStrategy({ highWaterMark: 1 })),
'constructor should throw when strategy is CountQueuingStrategy');
- assert_throws(new RangeError(),
+ assert_throws_js(RangeError,
() => new ReadableStream({ type: 'bytes' }, new ByteLengthQueuingStrategy({ highWaterMark: 512 })),
'constructor should throw when strategy is ByteLengthQueuingStrategy');
@@ -2116,6 +2116,6 @@ test(() => {
size() {}
}
- assert_throws(new RangeError(), () => new ReadableStream({ type: 'bytes' }, new HasSizeMethod()),
+ assert_throws_js(RangeError, () => new ReadableStream({ type: 'bytes' }, new HasSizeMethod()),
'constructor should throw when size on the prototype chain');
}, 'ReadableStream constructor should not accept a strategy with a size defined if type is "bytes"');
diff --git a/tests/wpt/web-platform-tests/streams/readable-byte-streams/properties.any.js b/tests/wpt/web-platform-tests/streams/readable-byte-streams/properties.any.js
index 2d52fd678ab..b201caf78a7 100644
--- a/tests/wpt/web-platform-tests/streams/readable-byte-streams/properties.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-byte-streams/properties.any.js
@@ -14,9 +14,9 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => new ReadableStreamBYOBReader('potato'));
- assert_throws(new TypeError(), () => new ReadableStreamBYOBReader({}));
- assert_throws(new TypeError(), () => new ReadableStreamBYOBReader());
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBReader('potato'));
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBReader({}));
+ assert_throws_js(TypeError, () => new ReadableStreamBYOBReader());
}, 'ReadableStreamBYOBReader constructor should get a ReadableStream object as argument');
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/async-iterator.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/async-iterator.any.js
index 865b8475427..ffbcdbb28bc 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/async-iterator.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/async-iterator.any.js
@@ -262,7 +262,7 @@ test(() => {
},
});
const it = s.getIterator();
- assert_throws(new TypeError(), () => s.getIterator(), 'getIterator() should throw');
+ assert_throws_js(TypeError, () => s.getIterator(), 'getIterator() should throw');
}, 'getIterator() throws if there\'s already a lock');
promise_test(async () => {
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/bad-strategies.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/bad-strategies.any.js
index 5dab51ef771..2378c2bef2f 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/bad-strategies.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/bad-strategies.any.js
@@ -5,7 +5,7 @@ test(() => {
const theError = new Error('a unique string');
- assert_throws(theError, () => {
+ assert_throws_exactly(theError, () => {
new ReadableStream({}, {
get size() {
throw theError;
@@ -37,7 +37,7 @@ promise_test(t => {
}
);
- assert_throws(thrownError, () => controller.enqueue('a'), 'enqueue should re-throw the error');
+ assert_throws_exactly(thrownError, () => controller.enqueue('a'), 'enqueue should re-throw the error');
return promise_rejects(t, controllerError, rs.getReader().closed);
@@ -63,7 +63,7 @@ promise_test(t => {
}
);
- assert_throws(new RangeError(), () => controller.enqueue('a'), 'enqueue should throw a RangeError');
+ assert_throws_js(RangeError, () => controller.enqueue('a'), 'enqueue should throw a RangeError');
return promise_rejects(t, theError, rs.getReader().closed, 'closed should reject with the error');
@@ -75,7 +75,7 @@ promise_test(() => {
const rs = new ReadableStream(
{
start(c) {
- assert_throws(theError, () => c.enqueue('a'), 'enqueue should throw the error');
+ assert_throws_exactly(theError, () => c.enqueue('a'), 'enqueue should throw the error');
}
},
{
@@ -96,7 +96,7 @@ test(() => {
const theError = new Error('a unique string');
- assert_throws(theError, () => {
+ assert_throws_exactly(theError, () => {
new ReadableStream({}, {
size() {
return 1;
@@ -112,7 +112,7 @@ test(() => {
test(() => {
for (const highWaterMark of [-1, -Infinity, NaN, 'foo', {}]) {
- assert_throws(new RangeError(), () => {
+ assert_throws_js(RangeError, () => {
new ReadableStream({}, {
size() {
return 1;
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/bad-underlying-sources.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/bad-underlying-sources.any.js
index cde5603f240..0dc3e0a2535 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/bad-underlying-sources.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/bad-underlying-sources.any.js
@@ -6,7 +6,7 @@ test(() => {
const theError = new Error('a unique string');
- assert_throws(theError, () => {
+ assert_throws_exactly(theError, () => {
new ReadableStream({
get start() {
throw theError;
@@ -21,7 +21,7 @@ test(() => {
const theError = new Error('a unique string');
- assert_throws(theError, () => {
+ assert_throws_exactly(theError, () => {
new ReadableStream({
start() {
throw theError;
@@ -35,7 +35,7 @@ test(() => {
test(() => {
const theError = new Error('a unique string');
- assert_throws(theError, () => new ReadableStream({
+ assert_throws_exactly(theError, () => new ReadableStream({
get pull() {
throw theError;
}
@@ -117,7 +117,7 @@ promise_test(t => {
test(() => {
const theError = new Error('a unique string');
- assert_throws(theError, () => new ReadableStream({
+ assert_throws_exactly(theError, () => new ReadableStream({
get cancel() {
throw theError;
}
@@ -148,7 +148,7 @@ promise_test(() => {
});
rs.cancel();
- assert_throws(new TypeError(), () => controller.enqueue('a'), 'Calling enqueue after canceling should throw');
+ assert_throws_js(TypeError, () => controller.enqueue('a'), 'Calling enqueue after canceling should throw');
return rs.getReader().closed;
@@ -166,7 +166,7 @@ promise_test(() => {
});
rs.cancel();
- assert_throws(new TypeError(), () => controller.enqueue('c'), 'Calling enqueue after canceling should throw');
+ assert_throws_js(TypeError, () => controller.enqueue('c'), 'Calling enqueue after canceling should throw');
return rs.getReader().closed;
@@ -177,7 +177,7 @@ promise_test(() => {
return new ReadableStream({
start(c) {
c.close();
- assert_throws(new TypeError(), () => c.enqueue('a'), 'call to enqueue should throw a TypeError');
+ assert_throws_js(TypeError, () => c.enqueue('a'), 'call to enqueue should throw a TypeError');
}
}).getReader().closed;
@@ -189,7 +189,7 @@ promise_test(t => {
const closed = new ReadableStream({
start(c) {
c.error(theError);
- assert_throws(new TypeError(), () => c.enqueue('a'), 'call to enqueue should throw the error');
+ assert_throws_js(TypeError, () => c.enqueue('a'), 'call to enqueue should throw the error');
}
}).getReader().closed;
@@ -202,7 +202,7 @@ promise_test(() => {
return new ReadableStream({
start(c) {
c.close();
- assert_throws(new TypeError(), () => c.close(), 'second call to close should throw a TypeError');
+ assert_throws_js(TypeError, () => c.close(), 'second call to close should throw a TypeError');
}
}).getReader().closed;
@@ -216,7 +216,7 @@ promise_test(() => {
start(c) {
c.enqueue('a');
c.close();
- assert_throws(new TypeError(), () => c.close(), 'second call to close should throw a TypeError');
+ assert_throws_js(TypeError, () => c.close(), 'second call to close should throw a TypeError');
startCalled = true;
}
}).getReader();
@@ -246,7 +246,7 @@ promise_test(() => {
});
rs.cancel();
- assert_throws(new TypeError(), () => controller.close(), 'Calling close after canceling should throw');
+ assert_throws_js(TypeError, () => controller.close(), 'Calling close after canceling should throw');
return rs.getReader().closed.then(() => {
assert_true(startCalled);
@@ -267,7 +267,7 @@ promise_test(() => {
});
rs.cancel();
- assert_throws(new TypeError(), () => controller.close(), 'Calling close after canceling should throw');
+ assert_throws_js(TypeError, () => controller.close(), 'Calling close after canceling should throw');
return rs.getReader().closed.then(() => {
assert_true(startCalled);
@@ -283,7 +283,7 @@ promise_test(() => {
const closed = new ReadableStream({
start(c) {
c.error(theError);
- assert_throws(new TypeError(), () => c.close(), 'call to close should throw a TypeError');
+ assert_throws_js(TypeError, () => c.close(), 'call to close should throw a TypeError');
startCalled = true;
}
}).getReader().closed;
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/brand-checks.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/brand-checks.any.js
index 7bd41b4455e..c82f513df01 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/brand-checks.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/brand-checks.any.js
@@ -119,7 +119,7 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => new ReadableStreamDefaultReader(fakeRS()),
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultReader(fakeRS()),
'Constructing a ReadableStreamDefaultReader should throw');
}, 'ReadableStreamDefaultReader enforces a brand check on its argument');
@@ -154,14 +154,14 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => new ReadableStreamDefaultController(fakeRS()),
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultController(fakeRS()),
'Constructing a ReadableStreamDefaultController should throw');
}, 'ReadableStreamDefaultController enforces a brand check on its argument');
test(() => {
- assert_throws(new TypeError(), () => new ReadableStreamDefaultController(realRS()),
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultController(realRS()),
'Constructing a ReadableStreamDefaultController should throw');
}, 'ReadableStreamDefaultController can\'t be given a fully-constructed ReadableStream');
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/default-reader.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/default-reader.any.js
index 224cd834b31..1e67b272b54 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/default-reader.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/default-reader.any.js
@@ -13,9 +13,9 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => new ReadableStreamDefaultReader('potato'));
- assert_throws(new TypeError(), () => new ReadableStreamDefaultReader({}));
- assert_throws(new TypeError(), () => new ReadableStreamDefaultReader());
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultReader('potato'));
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultReader({}));
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultReader());
}, 'ReadableStreamDefaultReader constructor should get a ReadableStream object as argument');
@@ -68,7 +68,7 @@ test(() => {
const rs = new ReadableStream();
new ReadableStreamDefaultReader(rs); // Constructing directly the first time should be fine.
- assert_throws(new TypeError(), () => new ReadableStreamDefaultReader(rs),
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultReader(rs),
'constructing directly the second time should fail');
}, 'Constructing a ReadableStreamDefaultReader directly should fail if the stream is already locked (via direct ' +
@@ -78,7 +78,7 @@ test(() => {
const rs = new ReadableStream();
new ReadableStreamDefaultReader(rs); // Constructing directly should be fine.
- assert_throws(new TypeError(), () => rs.getReader(), 'getReader() should fail');
+ assert_throws_js(TypeError, () => rs.getReader(), 'getReader() should fail');
}, 'Getting a ReadableStreamDefaultReader via getReader should fail if the stream is already locked (via direct ' +
'construction)');
@@ -87,7 +87,7 @@ test(() => {
const rs = new ReadableStream();
rs.getReader(); // getReader() should be fine.
- assert_throws(new TypeError(), () => new ReadableStreamDefaultReader(rs), 'constructing directly should fail');
+ assert_throws_js(TypeError, () => new ReadableStreamDefaultReader(rs), 'constructing directly should fail');
}, 'Constructing a ReadableStreamDefaultReader directly should fail if the stream is already locked (via getReader)');
@@ -95,7 +95,7 @@ test(() => {
const rs = new ReadableStream();
rs.getReader(); // getReader() should be fine.
- assert_throws(new TypeError(), () => rs.getReader(), 'getReader() should fail');
+ assert_throws_js(TypeError, () => rs.getReader(), 'getReader() should fail');
}, 'Getting a ReadableStreamDefaultReader via getReader should fail if the stream is already locked (via getReader)');
@@ -150,7 +150,7 @@ promise_test(() => {
const rs = new ReadableStream({
cancel(reason) {
assert_true(rs.locked, 'the stream should still be locked');
- assert_throws(new TypeError(), () => rs.getReader(), 'should not be able to get another reader');
+ assert_throws_js(TypeError, () => rs.getReader(), 'should not be able to get another reader');
assert_equals(reason, passedReason, 'the cancellation reason is passed through to the underlying source');
cancelCalled = true;
}
@@ -295,7 +295,7 @@ promise_test(t => {
promise_rejects(t, theError, reader1.read())
);
- assert_throws(new TypeError(), () => rs.getReader(), 'trying to get another reader before erroring should throw');
+ assert_throws_js(TypeError, () => rs.getReader(), 'trying to get another reader before erroring should throw');
controller.error(theError);
@@ -491,7 +491,7 @@ test(() => {
return '';
}
};
- assert_throws(new RangeError(), () => rs.getReader({ mode }), 'getReader() should throw');
+ assert_throws_js(RangeError, () => rs.getReader({ mode }), 'getReader() should throw');
assert_true(toStringCalled, 'toString() should be called');
}, 'getReader() should call ToString() on mode');
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/garbage-collection.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/garbage-collection.any.js
index b6f2a7f1d94..76a69572073 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/garbage-collection.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/garbage-collection.any.js
@@ -15,7 +15,7 @@ promise_test(() => {
return delay(50).then(() => {
controller.close();
- assert_throws(new TypeError(), () => controller.close(), 'close should throw a TypeError the second time');
+ assert_throws_js(TypeError, () => controller.close(), 'close should throw a TypeError the second time');
controller.error();
});
@@ -64,7 +64,7 @@ promise_test(() => {
garbageCollect();
- return delay(50).then(() => assert_throws(new TypeError(), () => rs.getReader(),
+ return delay(50).then(() => assert_throws_js(TypeError, () => rs.getReader(),
'old reader should still be locking the stream even after garbage collection'));
}, 'Garbage-collecting a ReadableStreamDefaultReader should not unlock its stream');
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/general.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/general.any.js
index e9a107db1a3..4a72b3044ff 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/general.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/general.any.js
@@ -20,20 +20,20 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => new ReadableStream(null), 'constructor should throw when the source is null');
+ assert_throws_js(TypeError, () => new ReadableStream(null), 'constructor should throw when the source is null');
}, 'ReadableStream can\'t be constructed with garbage');
test(() => {
- assert_throws(new RangeError(), () => new ReadableStream({ type: null }),
+ assert_throws_js(RangeError, () => new ReadableStream({ type: null }),
'constructor should throw when the type is null');
- assert_throws(new RangeError(), () => new ReadableStream({ type: '' }),
+ assert_throws_js(RangeError, () => new ReadableStream({ type: '' }),
'constructor should throw when the type is empty string');
- assert_throws(new RangeError(), () => new ReadableStream({ type: 'asdf' }),
+ assert_throws_js(RangeError, () => new ReadableStream({ type: 'asdf' }),
'constructor should throw when the type is asdf');
- assert_throws(error1, () => new ReadableStream({ type: { get toString() {throw error1;} } }), 'constructor should throw when ToString() throws');
- assert_throws(error1, () => new ReadableStream({ type: { toString() {throw error1;} } }), 'constructor should throw when ToString() throws');
+ assert_throws_exactly(error1, () => new ReadableStream({ type: { get toString() {throw error1;} } }), 'constructor should throw when ToString() throws');
+ assert_throws_exactly(error1, () => new ReadableStream({ type: { toString() {throw error1;} } }), 'constructor should throw when ToString() throws');
}, 'ReadableStream can\'t be constructed with an invalid type');
@@ -86,7 +86,7 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new ReadableStream({ start: 'potato' });
}, 'constructor should throw when start is not a function');
@@ -94,13 +94,13 @@ test(() => {
test(() => {
- assert_throws(new TypeError(), () => new ReadableStream({ cancel: '2' }), 'constructor should throw');
+ assert_throws_js(TypeError, () => new ReadableStream({ cancel: '2' }), 'constructor should throw');
}, 'ReadableStream constructor will not tolerate initial garbage as cancel argument');
test(() => {
- assert_throws(new TypeError(), () => new ReadableStream({ pull: { } }), 'constructor should throw');
+ assert_throws_js(TypeError, () => new ReadableStream({ pull: { } }), 'constructor should throw');
}, 'ReadableStream constructor will not tolerate initial garbage as pull argument');
@@ -178,7 +178,7 @@ test(() => {
(new ReadableStream()).getReader(undefined);
(new ReadableStream()).getReader({});
(new ReadableStream()).getReader({ mode: undefined, notmode: 'ignored' });
- assert_throws(new RangeError(), () => (new ReadableStream()).getReader({ mode: 'potato' }));
+ assert_throws_js(RangeError, () => (new ReadableStream()).getReader({ mode: 'potato' }));
}, 'default ReadableStream getReader() should only accept mode:undefined');
promise_test(() => {
@@ -689,7 +689,7 @@ test(() => {
assert_equals(c.enqueue('a'), undefined, 'the first enqueue should return undefined');
c.close();
- assert_throws(new TypeError(), () => c.enqueue('b'), 'enqueue after close should throw a TypeError');
+ assert_throws_js(TypeError, () => c.enqueue('b'), 'enqueue after close should throw a TypeError');
startCalled = true;
}
});
@@ -706,7 +706,7 @@ test(() => {
start(c) {
c.close();
- assert_throws(new TypeError(), () => c.enqueue('a'), 'enqueue after close should throw a TypeError');
+ assert_throws_js(TypeError, () => c.enqueue('a'), 'enqueue after close should throw a TypeError');
startCalled = true;
}
});
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/reentrant-strategies.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/reentrant-strategies.any.js
index 7724ea63d37..ca77a1b357f 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/reentrant-strategies.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/reentrant-strategies.any.js
@@ -123,7 +123,7 @@ promise_test(t => {
},
cancel: t.step_func(reason => {
assert_equals(reason, error1, 'reason should be error1');
- assert_throws(new TypeError(), () => controller.enqueue(), 'enqueue() should throw');
+ assert_throws_js(TypeError, () => controller.enqueue(), 'enqueue() should throw');
})
}, {
size() {
diff --git a/tests/wpt/web-platform-tests/streams/resources/rs-test-templates.js b/tests/wpt/web-platform-tests/streams/resources/rs-test-templates.js
index ef68e0ade64..8e3814d322f 100644
--- a/tests/wpt/web-platform-tests/streams/resources/rs-test-templates.js
+++ b/tests/wpt/web-platform-tests/streams/resources/rs-test-templates.js
@@ -23,10 +23,10 @@ self.templatedRSEmpty = (label, factory) => {
test(() => {
const rs = factory();
- assert_throws(new RangeError(), () => rs.getReader({ mode: '' }), 'empty string mode should throw');
- assert_throws(new RangeError(), () => rs.getReader({ mode: null }), 'null mode should throw');
- assert_throws(new RangeError(), () => rs.getReader({ mode: 'asdf' }), 'asdf mode should throw');
- assert_throws(new TypeError(), () => rs.getReader(null), 'null should throw');
+ assert_throws_js(RangeError, () => rs.getReader({ mode: '' }), 'empty string mode should throw');
+ assert_throws_js(RangeError, () => rs.getReader({ mode: null }), 'null mode should throw');
+ assert_throws_js(RangeError, () => rs.getReader({ mode: 'asdf' }), 'asdf mode should throw');
+ assert_throws_js(TypeError, () => rs.getReader(null), 'null should throw');
}, label + ': calling getReader with invalid arguments should throw appropriate errors');
};
@@ -83,8 +83,8 @@ self.templatedRSClosed = (label, factory) => {
rs.getReader();
- assert_throws(new TypeError(), () => rs.getReader(), 'getting a second reader should throw');
- assert_throws(new TypeError(), () => rs.getReader(), 'getting a third reader should throw');
+ assert_throws_js(TypeError, () => rs.getReader(), 'getting a second reader should throw');
+ assert_throws_js(TypeError, () => rs.getReader(), 'getting a third reader should throw');
}, label + ': should not be able to acquire a second reader if we don\'t release the first one');
};
@@ -142,8 +142,8 @@ self.templatedRSErroredSyncOnly = (label, factory, error) => {
const rs = factory();
rs.getReader();
- assert_throws(new TypeError(), () => rs.getReader(), 'getting a second reader should throw a TypeError');
- assert_throws(new TypeError(), () => rs.getReader(), 'getting a third reader should throw a TypeError');
+ assert_throws_js(TypeError, () => rs.getReader(), 'getting a second reader should throw a TypeError');
+ assert_throws_js(TypeError, () => rs.getReader(), 'getting a third reader should throw a TypeError');
}, label + ': should not be able to obtain additional readers if we don\'t release the first lock');
@@ -244,7 +244,7 @@ self.templatedRSEmptyReader = (label, factory) => {
test(() => {
const stream = factory().stream;
- assert_throws(new TypeError(), () => stream.getReader(), 'stream.getReader() should throw a TypeError');
+ assert_throws_js(TypeError, () => stream.getReader(), 'stream.getReader() should throw a TypeError');
}, label + ': getReader() again on the stream should fail');
@@ -269,7 +269,7 @@ self.templatedRSEmptyReader = (label, factory) => {
t.unreached_func('closed should not reject')
);
- assert_throws(new TypeError(), () => reader.releaseLock(), 'releaseLock should throw a TypeError');
+ assert_throws_js(TypeError, () => reader.releaseLock(), 'releaseLock should throw a TypeError');
assert_true(stream.locked, 'the stream should still be locked');
diff --git a/tests/wpt/web-platform-tests/streams/resources/test-utils.js b/tests/wpt/web-platform-tests/streams/resources/test-utils.js
index 5a9e2479faa..614fcca18e9 100644
--- a/tests/wpt/web-platform-tests/streams/resources/test-utils.js
+++ b/tests/wpt/web-platform-tests/streams/resources/test-utils.js
@@ -24,7 +24,7 @@ self.methodRejectsForAll = (t, obj, methodName, targets, args) => {
self.getterThrows = (obj, getterName, target) => {
const getter = Object.getOwnPropertyDescriptor(obj, getterName).get;
- assert_throws(new TypeError(), () => getter.call(target), getterName + ' should throw a TypeError');
+ assert_throws_js(TypeError, () => getter.call(target), getterName + ' should throw a TypeError');
};
self.getterThrowsForAll = (obj, getterName, targets) => {
@@ -35,7 +35,7 @@ self.methodThrows = (obj, methodName, target, args) => {
const method = obj[methodName];
assert_equals(typeof method, 'function', methodName + ' should exist');
- assert_throws(new TypeError(), () => method.apply(target, args), methodName + ' should throw a TypeError');
+ assert_throws_js(TypeError, () => method.apply(target, args), methodName + ' should throw a TypeError');
};
self.methodThrowsForAll = (obj, methodName, targets, args) => {
@@ -43,7 +43,7 @@ self.methodThrowsForAll = (obj, methodName, targets, args) => {
};
self.constructorThrowsForAll = (constructor, firstArgs) => {
- firstArgs.forEach(firstArg => assert_throws(new TypeError(), () => new constructor(firstArg),
+ firstArgs.forEach(firstArg => assert_throws_js(TypeError, () => new constructor(firstArg),
'constructor should throw a TypeError'));
};
diff --git a/tests/wpt/web-platform-tests/streams/transform-streams/errors.any.js b/tests/wpt/web-platform-tests/streams/transform-streams/errors.any.js
index 53a4a49984b..a6a35839e23 100644
--- a/tests/wpt/web-platform-tests/streams/transform-streams/errors.any.js
+++ b/tests/wpt/web-platform-tests/streams/transform-streams/errors.any.js
@@ -59,7 +59,7 @@ test(() => {
start(c) {
c.enqueue('a');
c.error(new Error('generic error'));
- assert_throws(new TypeError(), () => c.enqueue('b'), 'enqueue() should throw');
+ assert_throws_js(TypeError, () => c.enqueue('b'), 'enqueue() should throw');
}
});
}, 'errored TransformStream should not enqueue new chunks');
@@ -109,7 +109,7 @@ promise_test(t => {
}, 'when controller.error is followed by a rejection, the error reason should come from controller.error');
test(() => {
- assert_throws(new URIError(), () => new TransformStream({
+ assert_throws_js(URIError, () => new TransformStream({
start() { throw new URIError('start thrown error'); },
transform() {}
}), 'constructor should throw');
@@ -120,7 +120,7 @@ test(() => {
size() { throw new URIError('size thrown error'); }
};
- assert_throws(new URIError(), () => new TransformStream({
+ assert_throws_js(URIError, () => new TransformStream({
start(c) {
c.enqueue('a');
},
@@ -139,7 +139,7 @@ test(() => {
}
};
- assert_throws(new URIError(), () => new TransformStream({
+ assert_throws_js(URIError, () => new TransformStream({
start(c) {
controller = c;
c.enqueue('a');
diff --git a/tests/wpt/web-platform-tests/streams/transform-streams/general.any.js b/tests/wpt/web-platform-tests/streams/transform-streams/general.any.js
index 537001edae9..c9323155e6a 100644
--- a/tests/wpt/web-platform-tests/streams/transform-streams/general.any.js
+++ b/tests/wpt/web-platform-tests/streams/transform-streams/general.any.js
@@ -376,7 +376,7 @@ test(() => {
new TransformStream({
start(controller) {
controller.terminate();
- assert_throws(new TypeError(), () => controller.enqueue(), 'enqueue should throw');
+ assert_throws_js(TypeError, () => controller.enqueue(), 'enqueue should throw');
}
});
}, 'enqueue() should throw after controller.terminate()');
@@ -389,7 +389,7 @@ promise_test(() => {
}
});
const cancelPromise = ts.readable.cancel();
- assert_throws(new TypeError(), () => controller.enqueue(), 'enqueue should throw');
+ assert_throws_js(TypeError, () => controller.enqueue(), 'enqueue should throw');
return cancelPromise;
}, 'enqueue() should throw after readable.cancel()');
@@ -431,11 +431,11 @@ promise_test(() => {
}, 'start() should not be called twice');
test(() => {
- assert_throws(new RangeError(), () => new TransformStream({ readableType: 'bytes' }), 'constructor should throw');
+ assert_throws_js(RangeError, () => new TransformStream({ readableType: 'bytes' }), 'constructor should throw');
}, 'specifying a defined readableType should throw');
test(() => {
- assert_throws(new RangeError(), () => new TransformStream({ writableType: 'bytes' }), 'constructor should throw');
+ assert_throws_js(RangeError, () => new TransformStream({ writableType: 'bytes' }), 'constructor should throw');
}, 'specifying a defined writableType should throw');
test(() => {
diff --git a/tests/wpt/web-platform-tests/streams/transform-streams/strategies.any.js b/tests/wpt/web-platform-tests/streams/transform-streams/strategies.any.js
index 9ebfec7358e..c7645e7e651 100644
--- a/tests/wpt/web-platform-tests/streams/transform-streams/strategies.any.js
+++ b/tests/wpt/web-platform-tests/streams/transform-streams/strategies.any.js
@@ -86,13 +86,13 @@ promise_test(t => {
}, 'default readable strategy should be equivalent to { highWaterMark: 0 }');
test(() => {
- assert_throws(new RangeError(), () => new TransformStream(undefined, { highWaterMark: -1 }),
+ assert_throws_js(RangeError, () => new TransformStream(undefined, { highWaterMark: -1 }),
'should throw RangeError for negative writableHighWaterMark');
- assert_throws(new RangeError(), () => new TransformStream(undefined, undefined, { highWaterMark: -1 }),
+ assert_throws_js(RangeError, () => new TransformStream(undefined, undefined, { highWaterMark: -1 }),
'should throw RangeError for negative readableHighWaterMark');
- assert_throws(new RangeError(), () => new TransformStream(undefined, { highWaterMark: NaN }),
+ assert_throws_js(RangeError, () => new TransformStream(undefined, { highWaterMark: NaN }),
'should throw RangeError for NaN writableHighWaterMark');
- assert_throws(new RangeError(), () => new TransformStream(undefined, undefined, { highWaterMark: NaN }),
+ assert_throws_js(RangeError, () => new TransformStream(undefined, undefined, { highWaterMark: NaN }),
'should throw RangeError for NaN readableHighWaterMark');
}, 'a RangeError should be thrown for an invalid highWaterMark');
@@ -129,7 +129,7 @@ promise_test(t => {
const ts = new TransformStream({
transform(chunk, controller) {
// This assert has the important side-effect of catching the error, so transform() does not throw.
- assert_throws(new RangeError(), () => controller.enqueue(chunk), 'enqueue should throw');
+ assert_throws_js(RangeError, () => controller.enqueue(chunk), 'enqueue should throw');
}
}, undefined, {
size() {
diff --git a/tests/wpt/web-platform-tests/streams/transform-streams/terminate.any.js b/tests/wpt/web-platform-tests/streams/transform-streams/terminate.any.js
index 2bf9eabed84..0018b4b47d2 100644
--- a/tests/wpt/web-platform-tests/streams/transform-streams/terminate.any.js
+++ b/tests/wpt/web-platform-tests/streams/transform-streams/terminate.any.js
@@ -48,7 +48,7 @@ test(() => {
start(controller) {
controller.enqueue(0);
controller.terminate();
- assert_throws(new TypeError(), () => controller.enqueue(1), 'enqueue should throw');
+ assert_throws_js(TypeError, () => controller.enqueue(1), 'enqueue should throw');
}
});
}, 'controller.enqueue() should throw after controller.terminate()');
diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/bad-strategies.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/bad-strategies.any.js
index d67ee6b5039..bc51c3e9fc4 100644
--- a/tests/wpt/web-platform-tests/streams/writable-streams/bad-strategies.any.js
+++ b/tests/wpt/web-platform-tests/streams/writable-streams/bad-strategies.any.js
@@ -5,7 +5,7 @@ const error1 = new Error('a unique string');
error1.name = 'error1';
test(() => {
- assert_throws(error1, () => {
+ assert_throws_exactly(error1, () => {
new WritableStream({}, {
get size() {
throw error1;
@@ -16,13 +16,13 @@ test(() => {
}, 'Writable stream: throwing strategy.size getter');
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new WritableStream({}, { size: 'a string' });
});
}, 'reject any non-function value for strategy.size');
test(() => {
- assert_throws(error1, () => {
+ assert_throws_exactly(error1, () => {
new WritableStream({}, {
size() {
return 1;
@@ -37,7 +37,7 @@ test(() => {
test(() => {
for (const highWaterMark of [-1, -Infinity, NaN, 'foo', {}]) {
- assert_throws(new RangeError(), () => {
+ assert_throws_js(RangeError, () => {
new WritableStream({}, {
size() {
return 1;
@@ -88,7 +88,7 @@ promise_test(() => {
}, 'Writable stream: invalid strategy.size return value');
test(() => {
- assert_throws(new TypeError(), () => new WritableStream(undefined, {
+ assert_throws_js(TypeError, () => new WritableStream(undefined, {
size: 'not a function',
highWaterMark: NaN
}), 'WritableStream constructor should throw a TypeError');
diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.js
index ed04b3c0a17..b0da6503b0f 100644
--- a/tests/wpt/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.js
+++ b/tests/wpt/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.js
@@ -7,7 +7,7 @@ const error1 = new Error('error1');
error1.name = 'error1';
test(() => {
- assert_throws(error1, () => {
+ assert_throws_exactly(error1, () => {
new WritableStream({
get start() {
throw error1;
@@ -15,7 +15,7 @@ test(() => {
});
}, 'constructor should throw same error as throwing start getter');
- assert_throws(error1, () => {
+ assert_throws_exactly(error1, () => {
new WritableStream({
start() {
throw error1;
@@ -23,13 +23,13 @@ test(() => {
});
}, 'constructor should throw same error as throwing start method');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new WritableStream({
start: 'not a function or undefined'
});
}, 'constructor should throw TypeError when passed a non-function start property');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new WritableStream({
start: { apply() {} }
});
@@ -72,7 +72,7 @@ promise_test(t => {
}, 'close: returning a rejected promise should cause writer close() and ready to reject');
test(() => {
- assert_throws(error1, () => new WritableStream({
+ assert_throws_exactly(error1, () => new WritableStream({
get close() {
throw error1;
}
@@ -80,7 +80,7 @@ test(() => {
}, 'close: throwing getter should cause constructor to throw');
test(() => {
- assert_throws(error1, () => new WritableStream({
+ assert_throws_exactly(error1, () => new WritableStream({
get write() {
throw error1;
}
@@ -162,13 +162,13 @@ promise_test(t => {
}, 'write: returning a rejected promise (second write) should cause writer write() and ready to reject');
test(() => {
- assert_throws(new TypeError(), () => new WritableStream({
+ assert_throws_js(TypeError, () => new WritableStream({
abort: { apply() {} }
}), 'constructor should throw');
}, 'abort: non-function abort method with .apply');
test(() => {
- assert_throws(error1, () => new WritableStream({
+ assert_throws_exactly(error1, () => new WritableStream({
get abort() {
throw error1;
}
diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js
index 17179e7936e..a28fec3bd6b 100644
--- a/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js
+++ b/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js
@@ -76,7 +76,7 @@ test(() => {
}, 'WritableStream.prototype.getWriter enforces a brand check');
test(() => {
- assert_throws(new TypeError(), () => new WritableStreamDefaultWriter(fakeWS()), 'constructor should throw');
+ assert_throws_js(TypeError, () => new WritableStreamDefaultWriter(fakeWS()), 'constructor should throw');
}, 'WritableStreamDefaultWriter constructor enforces a brand check');
test(() => {
diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/constructor.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/constructor.any.js
index 97cda9cedac..c792e1f1faf 100644
--- a/tests/wpt/web-platform-tests/streams/writable-streams/constructor.any.js
+++ b/tests/wpt/web-platform-tests/streams/writable-streams/constructor.any.js
@@ -115,7 +115,7 @@ test(() => {
}
});
- assert_throws(new TypeError(), () => new WritableStreamDefaultController({}),
+ assert_throws_js(TypeError, () => new WritableStreamDefaultController({}),
'constructor should throw a TypeError exception');
}, 'WritableStreamDefaultController constructor should throw');
@@ -127,7 +127,7 @@ test(() => {
}
});
- assert_throws(new TypeError(), () => new WritableStreamDefaultController(stream),
+ assert_throws_js(TypeError, () => new WritableStreamDefaultController(stream),
'constructor should throw a TypeError exception');
}, 'WritableStreamDefaultController constructor should throw when passed an initialised WritableStream');
@@ -136,7 +136,7 @@ test(() => {
const writer = stream.getWriter();
const WritableStreamDefaultWriter = writer.constructor;
writer.releaseLock();
- assert_throws(new TypeError(), () => new WritableStreamDefaultWriter({}),
+ assert_throws_js(TypeError, () => new WritableStreamDefaultWriter({}),
'constructor should throw a TypeError exception');
}, 'WritableStreamDefaultWriter should throw unless passed a WritableStream');
@@ -144,7 +144,7 @@ test(() => {
const stream = new WritableStream();
const writer = stream.getWriter();
const WritableStreamDefaultWriter = writer.constructor;
- assert_throws(new TypeError(), () => new WritableStreamDefaultWriter(stream),
+ assert_throws_js(TypeError, () => new WritableStreamDefaultWriter(stream),
'constructor should throw a TypeError exception');
}, 'WritableStreamDefaultWriter constructor should throw when stream argument is locked');
diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/general.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/general.any.js
index 96670448a9d..b168ee0a5b9 100644
--- a/tests/wpt/web-platform-tests/streams/writable-streams/general.any.js
+++ b/tests/wpt/web-platform-tests/streams/writable-streams/general.any.js
@@ -6,7 +6,7 @@ test(() => {
const writer = ws.getWriter();
writer.releaseLock();
- assert_throws(new TypeError(), () => writer.desiredSize, 'desiredSize should throw a TypeError');
+ assert_throws_js(TypeError, () => writer.desiredSize, 'desiredSize should throw a TypeError');
}, 'desiredSize on a released writer');
test(() => {
diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/start.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/start.any.js
index 0a1095b2506..96be6a7b18a 100644
--- a/tests/wpt/web-platform-tests/streams/writable-streams/start.any.js
+++ b/tests/wpt/web-platform-tests/streams/writable-streams/start.any.js
@@ -60,7 +60,7 @@ test(() => {
let writeCalled = false;
let closeCalled = false;
- assert_throws(passedError, () => {
+ assert_throws_exactly(passedError, () => {
// recordingWritableStream cannot be used here because the exception in the
// constructor prevents assigning the object to a variable.
new WritableStream({
diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/write.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/write.any.js
index c936ef55af9..68da7939855 100644
--- a/tests/wpt/web-platform-tests/streams/writable-streams/write.any.js
+++ b/tests/wpt/web-platform-tests/streams/writable-streams/write.any.js
@@ -256,7 +256,7 @@ promise_test(() => {
const stream = new WritableStream();
const writer = stream.getWriter();
const WritableStreamDefaultWriter = writer.constructor;
- assert_throws(new TypeError(), () => new WritableStreamDefaultWriter(stream),
+ assert_throws_js(TypeError, () => new WritableStreamDefaultWriter(stream),
'should not be able to construct on locked stream');
// If stream.[[writer]] no longer points to |writer| then the closed Promise
// won't work properly.
diff --git a/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-exceptions.html b/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-exceptions.html
index 0ad8ad3df50..fe06ac1a376 100644
--- a/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-exceptions.html
+++ b/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-exceptions.html
@@ -9,10 +9,10 @@ setup(function() {
});
test(function() {
- assert_throws('InvalidStateError', function() { animationElement.getStartTime() });
+ assert_throws_dom('InvalidStateError', function() { animationElement.getStartTime() });
}, document.title+', getStartTime throws with unresolved interval.');
test(function() {
- assert_throws('NotSupportedError', function() { animationElement.getSimpleDuration() });
+ assert_throws_dom('NotSupportedError', function() { animationElement.getSimpleDuration() });
}, document.title+', getSimpleDuration throws with undefined simple duration.');
</script>
diff --git a/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-getStartTime.html b/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-getStartTime.html
index 5ffe98c3b85..fec3ff4db20 100644
--- a/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-getStartTime.html
+++ b/tests/wpt/web-platform-tests/svg/animations/scripted/SVGAnimationElement-getStartTime.html
@@ -20,10 +20,10 @@ function checkStartTime(values, t) {
}
function checkHasNoCurrentInterval(t) {
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animationElements[0].getStartTime()
}, 'no interval @ ' + t);
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animationElements[1].getStartTime()
}, 'no interval @ ' + t);
}
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/pathLength-positive.svg b/tests/wpt/web-platform-tests/svg/path/distance/pathLength-positive.svg
index b40d6b82b55..798b7ff3b8a 100644
--- a/tests/wpt/web-platform-tests/svg/path/distance/pathLength-positive.svg
+++ b/tests/wpt/web-platform-tests/svg/path/distance/pathLength-positive.svg
@@ -10,8 +10,7 @@
</metadata>
<defs>
- <path id="track" stroke="lightblue" fill="none"
- d="M 50 50 h 200" pathLength="2"/>
+ <path id="track" stroke="lightblue" fill="none" d="M 50 50 h 200" pathLength="2"/>
</defs>
<g>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-mutating.svg b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-mutating.svg
new file mode 100644
index 00000000000..b3f71653f42
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-mutating.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml" class="reftest-wait">
+ <title>Mutating the 'pathLength' attribute ('path' element)</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/paths.html#PathLengthAttribute"/>
+ <h:link rel="match" href="reference/pathlength-path-mutating-ref.svg"/>
+ <path pathLength="800" d="M100,100h100v100h-100z" fill="none"
+ stroke="blue" stroke-width="20" stroke-dasharray="25"/>
+ <script>
+ requestAnimationFrame(() => {
+ requestAnimationFrame(() => {
+ document.querySelector('path').setAttribute('pathLength', 200);
+ document.documentElement.classList.toggle("reftest-wait");
+ });
+ });
+ </script>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-negative.svg b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-negative.svg
new file mode 100644
index 00000000000..ce782dbef76
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-negative.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml">
+ <title>The 'pathLength' attribute set to a negative value ('path' element)</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/paths.html#PathLengthAttribute"/>
+ <h:link rel="match" href="reference/pathlength-path-negative-ref.svg"/>
+ <path d="M10,10L110,10L110,110L10,110Z" pathLength="-4" stroke-dashoffset="1" stroke-dasharray="1 1"
+ fill="none" stroke="black" stroke-width="10"></path>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-zero.svg b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-zero.svg
new file mode 100644
index 00000000000..f5c4168cd59
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path-zero.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml">
+ <title>The 'pathLength' attribute set to zero ('path' element)</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/paths.html#PathLengthAttribute"/>
+ <h:link rel="match" href="reference/pathlength-path-zero-ref.svg"/>
+ <path d="M10,10L110,10L110,110L10,110Z" pathLength="0" stroke-dashoffset="1" stroke-dasharray="1 1"
+ fill="none" stroke="black" stroke-width="10"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path.svg b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path.svg
new file mode 100644
index 00000000000..79402505ca9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-path.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml">
+ <title>The 'pathLength' attribute ('path' element)</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/paths.html#PathLengthAttribute"/>
+ <h:link rel="match" href="reference/pathlength-path-ref.svg"/>
+ <path d="M10,10L110,10L110,110L10,110Z" pathLength="4"
+ stroke-dashoffset="1" stroke-dasharray="1 1"
+ fill="none" stroke="black" stroke-width="10"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect-mutating.svg b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect-mutating.svg
new file mode 100644
index 00000000000..2dcbe440790
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect-mutating.svg
@@ -0,0 +1,17 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml" class="reftest-wait"
+ width="100" height="100">
+ <title>Mutating the 'pathLength' attribute ('rect' element)</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/paths.html#PathLengthAttribute"/>
+ <h:link rel="match" href="reference/pathlength-rect-mutating-ref.svg"/>
+ <rect y="50" width="200" height="100" fill="red"
+ stroke="green" stroke-width="100" stroke-dasharray="100"
+ pathLength="4800"/>
+ <script>
+ requestAnimationFrame(() => {
+ requestAnimationFrame(() => {
+ document.querySelector('rect').setAttribute('pathLength', 600);
+ document.documentElement.classList.toggle("reftest-wait");
+ });
+ });
+ </script>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect.svg b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect.svg
new file mode 100644
index 00000000000..106fed5f2eb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/pathlength-rect.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml">
+ <title>The 'pathLength' attribute ('rect' element)</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/paths.html#PathLengthAttribute"/>
+ <h:link rel="match" href="reference/pathlength-rect-ref.svg"/>
+ <rect width="50" height="50" pathLength="4" fill="blue"
+ stroke-dashoffset="1" stroke-dasharray="1 1" stroke="black" stroke-width="10"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-mutating-ref.svg b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-mutating-ref.svg
new file mode 100644
index 00000000000..fe45125f6bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-mutating-ref.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+ <title>Mutating the 'pathLength' attribute ('path' element; reference)</title>
+ <path d="M100,100h100v100h-100z" fill="none" stroke="blue"
+ stroke-width="20" stroke-dasharray="50"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-negative-ref.svg b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-negative-ref.svg
new file mode 100644
index 00000000000..c4dfb1b2b59
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-negative-ref.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+ <title>The 'pathLength' attribute set to a negative value ('path' element; reference)</title>
+ <path d="M10,10L110,10L110,110L10,110Z" stroke-dashoffset="1" stroke-dasharray="1 1"
+ fill="none" stroke="black" stroke-width="10"></path>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-ref.svg b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-ref.svg
new file mode 100644
index 00000000000..79aca872043
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-ref.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+ <title>The 'pathLength' attribute ('path' element; reference)</title>
+ <path d="M10,10L110,10L110,110L10,110Z" stroke-dashoffset="100" stroke-dasharray="100 100"
+ fill="none" stroke="black" stroke-width="10"></path>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-zero-ref.svg b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-zero-ref.svg
new file mode 100644
index 00000000000..232bf66cbcd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-path-zero-ref.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+ <title>The 'pathLength' attribute set to zero ('path' element; reference)</title>
+ <path d="M10,10L110,10L110,110L10,110Z" fill="none" stroke="black" stroke-width="10"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-mutating-ref.svg b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-mutating-ref.svg
new file mode 100644
index 00000000000..120941444a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-mutating-ref.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" height="100" fill="green"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-ref.svg b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-ref.svg
new file mode 100644
index 00000000000..232178d732c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/path/distance/reference/pathlength-rect-ref.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+ <title>The 'pathLength' attribute ('rect' element; reference)</title>
+ <rect width="50" height="50" fill="blue"
+ stroke-dashoffset="50" stroke-dasharray="50 50" stroke="black" stroke-width="10"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedNumber.html b/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedNumber.html
index a1697cbf926..c72cabca1a8 100644
--- a/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedNumber.html
+++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedNumber.html
@@ -26,15 +26,15 @@ test(function() {
assert_equals(feSpecularLightingElement.surfaceScale.baseVal, 300);
// ECMA-262, 9.3, "ToNumber"
- assert_throws(new TypeError(), function() { feSpecularLightingElement.surfaceScale.baseVal = 'aString'; });
+ assert_throws_js(TypeError, function() { feSpecularLightingElement.surfaceScale.baseVal = 'aString'; });
assert_equals(feSpecularLightingElement.surfaceScale.baseVal, 300);
feSpecularLightingElement.surfaceScale.baseVal = 0;
assert_equals(feSpecularLightingElement.surfaceScale.baseVal, 0);
- assert_throws(new TypeError(), function() { feSpecularLightingElement.surfaceScale.baseVal = NaN; });
+ assert_throws_js(TypeError, function() { feSpecularLightingElement.surfaceScale.baseVal = NaN; });
assert_equals(feSpecularLightingElement.surfaceScale.baseVal, 0);
- assert_throws(new TypeError(), function() { feSpecularLightingElement.surfaceScale.baseVal = Infinity; });
+ assert_throws_js(TypeError, function() { feSpecularLightingElement.surfaceScale.baseVal = Infinity; });
assert_equals(feSpecularLightingElement.surfaceScale.baseVal, 0);
- assert_throws(new TypeError(), function() { feSpecularLightingElement.surfaceScale.baseVal = feSpecularLightingElement; });
+ assert_throws_js(TypeError, function() { feSpecularLightingElement.surfaceScale.baseVal = feSpecularLightingElement; });
assert_equals(feSpecularLightingElement.surfaceScale.baseVal, 0);
feSpecularLightingElement.surfaceScale.baseVal = 300;
assert_equals(feSpecularLightingElement.surfaceScale.baseVal, 300);
diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-02.svg b/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-02.svg
new file mode 100644
index 00000000000..4cf93da6a18
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-02.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml">
+ <title>SVGGeometryElement.prototype.getPointAtLength() query with 'pathLength'</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/types.html#__svg__SVGGeometryElement__getPointAtLength"/>
+ <h:script src="/resources/testharness.js"/>
+ <h:script src="/resources/testharnessreport.js"/>
+ <script>
+test(function() {
+ let path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
+ path.setAttribute('d', 'M0,0L100,0L100,100');
+ path.setAttribute('pathLength', '1000');
+
+ var point = path.getPointAtLength(50);
+ assert_approx_equals(point.x, 50, 1e-5);
+ assert_approx_equals(point.y, 0, 1e-5);
+ var point = path.getPointAtLength(150);
+ assert_approx_equals(point.x, 100, 1e-5);
+ assert_approx_equals(point.y, 50, 1e-5);
+});
+ </script>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getTotalLength-01.svg b/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getTotalLength-01.svg
new file mode 100644
index 00000000000..49c8c165d70
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getTotalLength-01.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml">
+ <title>SVGGeometryElement.prototype.getTotalLength() query with 'pathLength'</title>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/types.html#__svg__SVGGeometryElement__getTotalLength"/>
+ <h:script src="/resources/testharness.js"/>
+ <h:script src="/resources/testharnessreport.js"/>
+ <script>
+test(function() {
+ let path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
+ path.setAttribute('d', 'M0,0L100,0L100,100');
+ path.setAttribute('pathLength', '1000');
+ assert_approx_equals(path.getTotalLength(), 200, 1e-5);
+}, document.title+', getTotalLength');
+ </script>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGLength.html b/tests/wpt/web-platform-tests/svg/types/scripted/SVGLength.html
index 2b043b99a62..7436f5940c5 100644
--- a/tests/wpt/web-platform-tests/svg/types/scripted/SVGLength.html
+++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGLength.html
@@ -21,50 +21,50 @@ test(function() {
assert_equals(length.valueAsString, "2px");
// Check invalid arguments for 'convertToSpecifiedUnits'.
- assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_UNKNOWN); });
- assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(-1); });
- assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(11); });
- assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits('aString'); });
- assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(length); });
- assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(svgElement); });
- assert_throws(new TypeError(), function() { length.convertToSpecifiedUnits(); });
+ assert_throws_dom("NotSupportedError", function() { length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_UNKNOWN); });
+ assert_throws_dom("NotSupportedError", function() { length.convertToSpecifiedUnits(-1); });
+ assert_throws_dom("NotSupportedError", function() { length.convertToSpecifiedUnits(11); });
+ assert_throws_dom("NotSupportedError", function() { length.convertToSpecifiedUnits('aString'); });
+ assert_throws_dom("NotSupportedError", function() { length.convertToSpecifiedUnits(length); });
+ assert_throws_dom("NotSupportedError", function() { length.convertToSpecifiedUnits(svgElement); });
+ assert_throws_js(TypeError, function() { length.convertToSpecifiedUnits(); });
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
assert_equals(length.valueAsString, "2px");
// Check invalid arguments for 'newValueSpecifiedUnits'.
- assert_throws("NotSupportedError", function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_UNKNOWN, 4); });
- assert_throws("NotSupportedError", function() { length.newValueSpecifiedUnits(-1, 4); });
- assert_throws("NotSupportedError", function() { length.newValueSpecifiedUnits(11, 4); });
+ assert_throws_dom("NotSupportedError", function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_UNKNOWN, 4); });
+ assert_throws_dom("NotSupportedError", function() { length.newValueSpecifiedUnits(-1, 4); });
+ assert_throws_dom("NotSupportedError", function() { length.newValueSpecifiedUnits(11, 4); });
// ECMA-262, 9.3, "ToNumber".
length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 0);
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 'aString'); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 'aString'); });
assert_equals(length.value, 0);
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, length); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, length); });
assert_equals(length.value, 0);
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, svgElement); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, svgElement); });
assert_equals(length.value, 0);
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, NaN); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, NaN); });
assert_equals(length.value, 0);
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, Infinity); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, Infinity); });
assert_equals(length.value, 0);
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX); });
// Reset to original value above.
length.valueAsString = "2px";
- assert_throws("NotSupportedError", function() { length.newValueSpecifiedUnits('aString', 4); });
- assert_throws("NotSupportedError", function() { length.newValueSpecifiedUnits(length, 4); });
- assert_throws("NotSupportedError", function() { length.newValueSpecifiedUnits(svgElement, 4); });
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits('aString', 'aString'); });
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(length, length); });
- assert_throws(new TypeError(), function() { length.newValueSpecifiedUnits(svgElement, svgElement); });
+ assert_throws_dom("NotSupportedError", function() { length.newValueSpecifiedUnits('aString', 4); });
+ assert_throws_dom("NotSupportedError", function() { length.newValueSpecifiedUnits(length, 4); });
+ assert_throws_dom("NotSupportedError", function() { length.newValueSpecifiedUnits(svgElement, 4); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits('aString', 'aString'); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(length, length); });
+ assert_throws_js(TypeError, function() { length.newValueSpecifiedUnits(svgElement, svgElement); });
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
assert_equals(length.valueAsString, "2px");
// Check setting invalid 'valueAsString' arguments.
- assert_throws("SyntaxError", function() { length.valueAsString = '10deg'; });
+ assert_throws_dom("SyntaxError", function() { length.valueAsString = '10deg'; });
assert_equals(length.valueAsString, "2px");
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
@@ -78,34 +78,34 @@ test(function() {
length.valueAsString = "2px"; // reset to 2px.
- assert_throws("SyntaxError", function() { length.valueAsString = ',5 em'; });
+ assert_throws_dom("SyntaxError", function() { length.valueAsString = ',5 em'; });
assert_equals(length.valueAsString, "2px");
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
- assert_throws("SyntaxError", function() { length.valueAsString = null; });
+ assert_throws_dom("SyntaxError", function() { length.valueAsString = null; });
assert_equals(length.valueAsString, "2px");
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
- assert_throws("SyntaxError", function() { length.valueAsString = ''; });
+ assert_throws_dom("SyntaxError", function() { length.valueAsString = ''; });
assert_equals(length.valueAsString, "2px");
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
// Check setting invalid 'value' arguments.
- assert_throws(new TypeError(), function() { length.value = NaN; });
- assert_throws(new TypeError(), function() { length.value = Infinity; });
+ assert_throws_js(TypeError, function() { length.value = NaN; });
+ assert_throws_js(TypeError, function() { length.value = Infinity; });
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
// Check setting invalid 'valueInSpecifiedUnits' arguments.
- assert_throws(new TypeError(), function() { length.valueInSpecifiedUnits = NaN; });
- assert_throws(new TypeError(), function() { length.valueInSpecifiedUnits = Infinity; });
+ assert_throws_js(TypeError, function() { length.valueInSpecifiedUnits = NaN; });
+ assert_throws_js(TypeError, function() { length.valueInSpecifiedUnits = Infinity; });
assert_equals(length.value, 2);
assert_equals(length.valueInSpecifiedUnits, 2);
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-basics.html b/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-basics.html
index 58d0e937bed..685074d519f 100644
--- a/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-basics.html
+++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-basics.html
@@ -21,22 +21,22 @@ test(function() {
assert_equals(xBaseValList.getItem(2).value, 1500);
// Test uncommon arguments for initialize().
- assert_throws(new TypeError(), function() { xBaseValList.initialize(30); });
- assert_throws(new TypeError(), function() { xBaseValList.initialize('aString'); });
- assert_throws(new TypeError(), function() { xBaseValList.initialize(text1); });
- assert_throws(new TypeError(), function() { xBaseValList.initialize(null); });
+ assert_throws_js(TypeError, function() { xBaseValList.initialize(30); });
+ assert_throws_js(TypeError, function() { xBaseValList.initialize('aString'); });
+ assert_throws_js(TypeError, function() { xBaseValList.initialize(text1); });
+ assert_throws_js(TypeError, function() { xBaseValList.initialize(null); });
// Test uncommon arguments for getItem().
- assert_throws("IndexSizeError", function() { xBaseValList.getItem(30); });
+ assert_throws_dom("IndexSizeError", function() { xBaseValList.getItem(30); });
assert_equals(xBaseValList.getItem('aString').value, xBaseValList.getItem(0).value);
assert_equals(xBaseValList.getItem(text1).value, xBaseValList.getItem(0).value);
assert_equals(xBaseValList.getItem(null).value, xBaseValList.getItem(0).value);
// Test uncommon arguments for insertItemBefore().
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore(30); });
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore('aString'); });
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore(text1); });
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore(null); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore(30); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore('aString'); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore(text1); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore(null); });
assert_equals(xBaseValList.insertItemBefore(xBaseValList.getItem(1), 'aString').value, xBaseValList.getItem(0).value);
assert_equals(xBaseValList.numberOfItems, 4);
@@ -77,10 +77,10 @@ test(function() {
assert_equals(xBaseValList.getItem(6).value, 1500);
assert_equals(text1.getAttribute('x'), "500 1000 500 1000 500 1000 1500");
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore(30, 0); });
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore('aString', 0); });
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore(text1, 0); });
- assert_throws(new TypeError(), function() { xBaseValList.insertItemBefore(null, 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore(30, 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore('aString', 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore(text1, 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.insertItemBefore(null, 0); });
// Set x='1 2 3 4' for text1.
text1.setAttribute('x', '1 2 3 4');
@@ -103,20 +103,20 @@ test(function() {
assert_equals(text1.getAttribute('x'), "1 2 3 4");
// Test uncommon arguments for replaceItem().
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem(30); });
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem('aString'); });
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem(text1); });
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem(null); });
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem(30, 0); });
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem('aString', 0); });
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem(text1, 0); });
- assert_throws(new TypeError(), function() { xBaseValList.replaceItem(null, 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem(30); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem('aString'); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem(text1); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem(null); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem(30, 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem('aString', 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem(text1, 0); });
+ assert_throws_js(TypeError, function() { xBaseValList.replaceItem(null, 0); });
// Test uncommon values for indexed setter.
- assert_throws(new TypeError(), function() { xBaseValList[0] = 30; });
- assert_throws(new TypeError(), function() { xBaseValList[0] = 'aString'; });
- assert_throws(new TypeError(), function() { xBaseValList[0] = text1; });
- assert_throws(new TypeError(), function() { xBaseValList[0] = null; });
+ assert_throws_js(TypeError, function() { xBaseValList[0] = 30; });
+ assert_throws_js(TypeError, function() { xBaseValList[0] = 'aString'; });
+ assert_throws_js(TypeError, function() { xBaseValList[0] = text1; });
+ assert_throws_js(TypeError, function() { xBaseValList[0] = null; });
assert_equals(xBaseValList.replaceItem(xBaseValList.getItem(0), 0).value, xBaseValList.getItem(0).value);
assert_equals(xBaseValList.numberOfItems, 4);
@@ -148,13 +148,13 @@ test(function() {
assert_equals(xBaseValList.replaceItem(xBaseValList.getItem(1), 3).value, xBaseValList.getItem(3).value);
assert_equals(xBaseValList.numberOfItems, 4);
assert_equals(text1.getAttribute('x'), "1 2 3 2");
- assert_throws("IndexSizeError", function() { xBaseValList.replaceItem(xBaseValList.getItem(3), 4); });
+ assert_throws_dom("IndexSizeError", function() { xBaseValList.replaceItem(xBaseValList.getItem(3), 4); });
// Set x='1 2 3 4' for text1.
text1.setAttribute('x', '1 2 3 4');
// Test uncommon arguments for removeItem().
- assert_throws("IndexSizeError", function() { xBaseValList.removeItem(30); });
+ assert_throws_dom("IndexSizeError", function() { xBaseValList.removeItem(30); });
assert_equals(xBaseValList.removeItem(0).value, 1);
assert_equals(xBaseValList.numberOfItems, 3);
@@ -170,13 +170,13 @@ test(function() {
assert_equals(text1.getAttribute('x'), "3 4");
// Test uncommon arguments for appendItem().
- assert_throws(new TypeError(), function() { xBaseValList.appendItem(30); });
- assert_throws(new TypeError(), function() { xBaseValList.appendItem('aString'); });
- assert_throws(new TypeError(), function() { xBaseValList.appendItem(text1); });
- assert_throws(new TypeError(), function() { xBaseValList.appendItem(null); });
+ assert_throws_js(TypeError, function() { xBaseValList.appendItem(30); });
+ assert_throws_js(TypeError, function() { xBaseValList.appendItem('aString'); });
+ assert_throws_js(TypeError, function() { xBaseValList.appendItem(text1); });
+ assert_throws_js(TypeError, function() { xBaseValList.appendItem(null); });
// Testing animVal clear throws.
- assert_throws("NoModificationAllowedError", function() { xAnimValList.clear(); });
+ assert_throws_dom("NoModificationAllowedError", function() { xAnimValList.clear(); });
xBaseValList.clear();
});
</script>
diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-getItem.html b/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-getItem.html
index c81a2339446..ca27810e72d 100644
--- a/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-getItem.html
+++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGLengthList-getItem.html
@@ -14,12 +14,12 @@ test(function() {
assert_equals(xList.numberOfItems, 3);
// Test with various index parameters.
- assert_throws("IndexSizeError", function() { xList.getItem(-100); });
- assert_throws("IndexSizeError", function() { xList.getItem(-1); });
+ assert_throws_dom("IndexSizeError", function() { xList.getItem(-100); });
+ assert_throws_dom("IndexSizeError", function() { xList.getItem(-1); });
assert_equals(xList.getItem(0).value, 50);
assert_equals(xList.getItem(1).value, 100);
assert_equals(xList.getItem(2).value, 150);
- assert_throws("IndexSizeError", function() { xList.getItem(3); });
- assert_throws("IndexSizeError", function() { xList.getItem(100); });
+ assert_throws_dom("IndexSizeError", function() { xList.getItem(3); });
+ assert_throws_dom("IndexSizeError", function() { xList.getItem(100); });
});
</script> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/resources/SVGLengthList-helper.js b/tests/wpt/web-platform-tests/svg/types/scripted/resources/SVGLengthList-helper.js
index 3cf888b7dba..07697d6491b 100644
--- a/tests/wpt/web-platform-tests/svg/types/scripted/resources/SVGLengthList-helper.js
+++ b/tests/wpt/web-platform-tests/svg/types/scripted/resources/SVGLengthList-helper.js
@@ -3,5 +3,5 @@ function assert_list(list, expectedValues) {
for (var index = 0; index < expectedValues.length; ++index)
assert_equals(list.getItem(index).value, expectedValues[index]);
- assert_throws("IndexSizeError", function() { list.getItem(expectedValues.length); });
+ assert_throws_dom("IndexSizeError", function() { list.getItem(expectedValues.length); });
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/tools/META.yml b/tests/wpt/web-platform-tests/tools/META.yml
index 7cc22a28c20..6f4bb000cfa 100644
--- a/tests/wpt/web-platform-tests/tools/META.yml
+++ b/tests/wpt/web-platform-tests/tools/META.yml
@@ -2,3 +2,7 @@ suggested_reviewers:
- jgraham
- gsnedders
- jugglinmike
+ - Hexcles
+ - stephenmcgruer
+ - LukeZielinski
+ - KyleJu
diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/pip_install.yml b/tests/wpt/web-platform-tests/tools/ci/azure/pip_install.yml
index c8795345f6b..eb7e790ba22 100644
--- a/tests/wpt/web-platform-tests/tools/ci/azure/pip_install.yml
+++ b/tests/wpt/web-platform-tests/tools/ci/azure/pip_install.yml
@@ -3,11 +3,15 @@ parameters:
steps:
- script: |
- # `sudo pip install` is not used because some packages (e.g. tox) depend on
- # system packages (e.g. setuptools) which cannot be upgraded due to System
- # Integrity Protection, see https://stackoverflow.com/a/33004920.
- pip install --user ${{ parameters.packages }}
- echo "##vso[task.prependpath]$HOME/Library/Python/2.7/bin"
+ if [ `which pip` = '/usr/bin/pip' ]; then
+ # `sudo pip install` is not used because some packages (e.g. tox) depend on
+ # system packages (e.g. setuptools) which cannot be upgraded due to System
+ # Integrity Protection, see https://stackoverflow.com/a/33004920.
+ pip install --user ${{ parameters.packages }}
+ echo "##vso[task.prependpath]$HOME/Library/Python/2.7/bin"
+ else
+ pip --disable-pip-version-check install --upgrade ${{ parameters.packages }}
+ fi
displayName: 'Install Python packages (macOS)'
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
- script: pip --disable-pip-version-check install --upgrade ${{ parameters.packages }}
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/decision.py b/tests/wpt/web-platform-tests/tools/ci/tc/decision.py
index 0c935b93f8e..4b23630012b 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/decision.py
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/decision.py
@@ -199,6 +199,7 @@ def build_full_command(event, task):
~/start.sh \
%(repo_url)s \
%(fetch_ref)s;
+sudo add-apt-repository ppa:deadsnakes/ppa
%(install_str)s
cd web-platform-tests;
./tools/ci/run_tc.py %(options_str)s -- %(task_cmd)s;
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
index e80e794203e..7476337e09b 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
@@ -101,6 +101,15 @@ components:
install:
- python3-pip
+ tox-python38:
+ env:
+ TOXENV: py38
+ PY_COLORS: 0
+ install:
+ - python3.8
+ - python3.8-distutils
+ - python3.8-dev
+
tests-affected:
options:
browser:
@@ -306,9 +315,9 @@ tasks:
run-job:
- tools_unittest
- - tools/ unittests (Python 3):
+ - tools/ unittests (Python 3.6):
description: >-
- Unit tests for tools running under Python 3, excluding wptrunner
+ Unit tests for tools running under Python 3.6, excluding wptrunner
use:
- wpt-base
- trigger-pr
@@ -320,7 +329,21 @@ tasks:
run-job:
- tools_unittest
- - tools/wpt/ tests:
+ - tools/ unittests (Python 3.8):
+ description: >-
+ Unit tests for tools running under Python 3.8, excluding wptrunner
+ use:
+ - wpt-base
+ - trigger-pr
+ - tox-python38
+ command: ./tools/ci/ci_tools_unittest.sh
+ env:
+ HYPOTHESIS_PROFILE: ci
+ schedule-if:
+ run-job:
+ - tools_unittest
+
+ - tools/wpt/ tests (Python 2):
description: >-
Integration tests for wpt commands
use:
@@ -342,6 +365,50 @@ tasks:
run-job:
- wpt_integration
+ - tools/wpt/ tests (Python 3.6):
+ description: >-
+ Integration tests for wpt commands
+ use:
+ - wpt-base
+ - trigger-pr
+ - tox-python3
+ command: ./tools/ci/ci_wpt.sh
+ install:
+ - libnss3-tools
+ options:
+ oom-killer: true
+ browser:
+ - firefox
+ - chrome
+ channel: experimental
+ xvfb: true
+ hosts: true
+ schedule-if:
+ run-job:
+ - wpt_integration
+
+ - tools/wpt/ tests (Python 3.8):
+ description: >-
+ Integration tests for wpt commands
+ use:
+ - wpt-base
+ - trigger-pr
+ - tox-python38
+ command: ./tools/ci/ci_wpt.sh
+ install:
+ - libnss3-tools
+ options:
+ oom-killer: true
+ browser:
+ - firefox
+ - chrome
+ channel: experimental
+ xvfb: true
+ hosts: true
+ schedule-if:
+ run-job:
+ - wpt_integration
+
- resources/ tests:
description: >-
Tests for testharness.js and other files in resources/
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py b/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
index b170928b290..a194d370181 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
@@ -129,8 +129,11 @@ def test_verify_payload():
("pr_event.json", True, {".taskcluster.yml",".travis.yml","tools/ci/start.sh"},
{'lint',
'tools/ unittests (Python 2)',
- 'tools/ unittests (Python 3)',
- 'tools/wpt/ tests',
+ 'tools/ unittests (Python 3.6)',
+ 'tools/ unittests (Python 3.8)',
+ 'tools/wpt/ tests (Python 2)',
+ 'tools/wpt/ tests (Python 3.6)',
+ 'tools/wpt/ tests (Python 3.8)',
'resources/ tests',
'infrastructure/ tests'}),
# More tests are affected in the actual PR but it shouldn't affect the scheduled tasks
diff --git a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
index f3a56a6dd71..a478015893d 100644
--- a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
+++ b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
@@ -1,3 +1,3 @@
mypy==0.761
mypy-extensions==0.4.3
-typed-ast==1.4.0
+typed-ast==1.4.1
diff --git a/tests/wpt/web-platform-tests/tools/tox.ini b/tests/wpt/web-platform-tests/tools/tox.ini
index e8673db0a69..6706c4787fc 100644
--- a/tests/wpt/web-platform-tests/tools/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/tox.ini
@@ -1,6 +1,7 @@
[tox]
-envlist = py27,py35,py36,py37,pypy,{py27,py35,py36,py37}-flake8,{py35,py36,py37}-mypy
+envlist = py27,py35,py36,py37,py38,pypy,{py27,py35,py36,py37,py38}-flake8,{py35,py36,py37,py38}-mypy
skipsdist=True
+skip_missing_interpreters = False
[testenv]
deps =
@@ -37,6 +38,10 @@ commands = flake8 --append-config={toxinidir}/py36-flake8.ini {posargs}
deps = -rrequirements_flake8.txt
commands = flake8 --append-config={toxinidir}/py36-flake8.ini {posargs}
+[testenv:py38-flake8]
+deps = -rrequirements_flake8.txt
+commands = flake8 --append-config={toxinidir}/py36-flake8.ini {posargs}
+
[testenv:py35-mypy]
deps = -rrequirements_mypy.txt
changedir = {toxinidir}/..
@@ -54,3 +59,9 @@ deps = -rrequirements_mypy.txt
changedir = {toxinidir}/..
commands =
mypy --config-file={toxinidir}/mypy.ini --no-incremental --py2 -p tools.manifest -p tools.lint -p tools.gitignore
+
+[testenv:py38-mypy]
+deps = -rrequirements_mypy.txt
+changedir = {toxinidir}/..
+commands =
+ mypy --config-file={toxinidir}/mypy.ini --no-incremental --py2 -p tools.manifest -p tools.lint -p tools.gitignore
diff --git a/tests/wpt/web-platform-tests/tools/wpt/browser.py b/tests/wpt/web-platform-tests/tools/wpt/browser.py
index 13ce823d0ce..bf1958fab99 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/browser.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/browser.py
@@ -1068,11 +1068,11 @@ class Safari(Browser):
except subprocess.CalledProcessError:
self.logger.warning("Failed to call %s --version" % webdriver_binary)
return None
- m = re.match(r"Included with Safari (.*)", version_string)
+ m = re.match(br"Included with Safari (.*)", version_string)
if not m:
self.logger.warning("Failed to extract version from: %s" % version_string)
return None
- return m.group(1)
+ return m.group(1).decode()
class Servo(Browser):
diff --git a/tests/wpt/web-platform-tests/tools/wpt/install.py b/tests/wpt/web-platform-tests/tools/wpt/install.py
index 3da697e5333..4a368f9a4d6 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/install.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/install.py
@@ -2,7 +2,6 @@ import argparse
import sys
from . import browser
-
latest_channels = {
'firefox': 'nightly',
'chrome': 'dev',
diff --git a/tests/wpt/web-platform-tests/tools/wpt/tests/test_browser.py b/tests/wpt/web-platform-tests/tools/wpt/tests/test_browser.py
index 25b66e7d922..e7c32a36211 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/tests/test_browser.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/tests/test_browser.py
@@ -15,11 +15,11 @@ def test_safari_version(mocked_check_output):
safari = browser.Safari(logger)
# Safari
- mocked_check_output.return_value = 'Included with Safari 12.1 (14607.1.11)'
+ mocked_check_output.return_value = b'Included with Safari 12.1 (14607.1.11)'
assert safari.version(webdriver_binary="safaridriver") == '12.1 (14607.1.11)'
# Safari Technology Preview
- mocked_check_output.return_value = 'Included with Safari Technology Preview (Release 67, 13607.1.9.0.1)'
+ mocked_check_output.return_value = b'Included with Safari Technology Preview (Release 67, 13607.1.9.0.1)'
assert safari.version(webdriver_binary="safaridriver") == 'Technology Preview (Release 67, 13607.1.9.0.1)'
@mock.patch('subprocess.check_output')
@@ -30,11 +30,11 @@ def test_safari_version_errors(mocked_check_output):
assert safari.version() is None
# `safaridriver --version` return gibberish
- mocked_check_output.return_value = 'gibberish'
+ mocked_check_output.return_value = b'gibberish'
assert safari.version(webdriver_binary="safaridriver") is None
# `safaridriver --version` fails (as it does for Safari <=12.0)
- mocked_check_output.return_value = 'dummy'
+ mocked_check_output.return_value = b'dummy'
mocked_check_output.side_effect = subprocess.CalledProcessError(1, 'cmd')
assert safari.version(webdriver_binary="safaridriver") is None
@@ -44,11 +44,11 @@ def test_webkitgtk_minibrowser_version(mocked_check_output):
webkitgtk_minibrowser = browser.WebKitGTKMiniBrowser(logger)
# stable version
- mocked_check_output.return_value = 'WebKitGTK 2.26.1\n'
+ mocked_check_output.return_value = b'WebKitGTK 2.26.1\n'
assert webkitgtk_minibrowser.version(binary='MiniBrowser') == '2.26.1'
# nightly version
- mocked_check_output.return_value = 'WebKitGTK 2.27.1 (r250823)\n'
+ mocked_check_output.return_value = b'WebKitGTK 2.27.1 (r250823)\n'
assert webkitgtk_minibrowser.version(binary='MiniBrowser') == '2.27.1 (r250823)'
@mock.patch('subprocess.check_output')
@@ -59,11 +59,11 @@ def test_webkitgtk_minibrowser_version_errors(mocked_check_output):
assert webkitgtk_minibrowser.version() is None
# `MiniBrowser --version` return gibberish
- mocked_check_output.return_value = 'gibberish'
+ mocked_check_output.return_value = b'gibberish'
assert webkitgtk_minibrowser.version(binary='MiniBrowser') is None
# `MiniBrowser --version` fails (as it does for MiniBrowser <= 2.26.0)
- mocked_check_output.return_value = 'dummy'
+ mocked_check_output.return_value = b'dummy'
mocked_check_output.side_effect = subprocess.CalledProcessError(1, 'cmd')
assert webkitgtk_minibrowser.version(binary='MiniBrowser') is None
@@ -93,11 +93,11 @@ def test_webkitgtk_minibrowser_find_binary(mocked_os_path_isfile):
# Found on the default Debian path for AMD64 (gcc available but gives an error)
debian_minibrowser_path_amd64 = '/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/MiniBrowser'
mocked_os_path_isfile.side_effect = lambda path: path in [debian_minibrowser_path_amd64, '/usr/bin/gcc']
- with mock.patch('subprocess.check_output', return_value = 'error', side_effect = subprocess.CalledProcessError(1, 'cmd')):
+ with mock.patch('subprocess.check_output', return_value = b'error', side_effect = subprocess.CalledProcessError(1, 'cmd')):
assert webkitgtk_minibrowser.find_binary() == debian_minibrowser_path_amd64
# Found on the default Debian path for ARM64 (gcc available)
debian_minibrowser_path_arm64 = '/usr/lib/aarch64-linux-gnu/webkit2gtk-4.0/MiniBrowser'
mocked_os_path_isfile.side_effect = lambda path: path in [debian_minibrowser_path_arm64, '/usr/bin/gcc']
- with mock.patch('subprocess.check_output', return_value = 'aarch64-linux-gnu'):
+ with mock.patch('subprocess.check_output', return_value = b'aarch64-linux-gnu'):
assert webkitgtk_minibrowser.find_binary() == debian_minibrowser_path_arm64
diff --git a/tests/wpt/web-platform-tests/tools/wpt/tests/test_revlist.py b/tests/wpt/web-platform-tests/tools/wpt/tests/test_revlist.py
index ec2a6b899d5..6b499dc5db4 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/tests/test_revlist.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/tests/test_revlist.py
@@ -1,4 +1,7 @@
+import sys
+
import mock
+import pytest
from tools.wpt import revlist
@@ -10,12 +13,14 @@ def test_calculate_cutoff_date():
assert revlist.calculate_cutoff_date(3600, 3600, -1) == 3599
+@pytest.mark.xfail(sys.version_info >= (3,), reason="broken on Py3")
def test_parse_epoch():
assert revlist.parse_epoch(b"10h") == 36000
assert revlist.parse_epoch(b"10d") == 864000
assert revlist.parse_epoch(b"10w") == 6048000
+@pytest.mark.xfail(sys.version_info >= (3,), reason="broken on Py3")
@mock.patch('subprocess.check_output')
def test_get_epoch_revisions(mocked_check_output):
# check:
diff --git a/tests/wpt/web-platform-tests/tools/wpt/tests/test_run.py b/tests/wpt/web-platform-tests/tools/wpt/tests/test_run.py
index ef58ec41b2b..48713017009 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/tests/test_run.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/tests/test_run.py
@@ -42,6 +42,8 @@ def venv():
@pytest.fixture(scope="module")
def logger():
+ if sys.version_info >= (3,):
+ pytest.xfail(reason="broken on Py3")
run.setup_logging({})
diff --git a/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py b/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py
index 6569580e9ff..c8adef557d0 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py
@@ -6,7 +6,12 @@ import subprocess
import sys
import tempfile
import time
-import urllib2
+
+try:
+ from urllib.request import urlopen
+ from urllib.error import URLError
+except ImportError:
+ from urllib2 import urlopen, URLError
import pytest
@@ -38,6 +43,8 @@ def get_persistent_manifest_path():
@pytest.fixture(scope="module", autouse=True)
def init_manifest():
+ if sys.version_info >= (3,):
+ pytest.xfail(reason="broken on Py3")
with pytest.raises(SystemExit) as excinfo:
wpt.main(argv=["manifest", "--no-download",
"--path", get_persistent_manifest_path()])
@@ -388,9 +395,9 @@ def test_serve():
if time.time() - start > 60:
assert False, "server did not start responding within 60s"
try:
- resp = urllib2.urlopen("http://web-platform.test:8000")
+ resp = urlopen("http://web-platform.test:8000")
print(resp)
- except urllib2.URLError:
+ except URLError:
print("URLError")
time.sleep(1)
else:
diff --git a/tests/wpt/web-platform-tests/tools/wpt/tox.ini b/tests/wpt/web-platform-tests/tools/wpt/tox.ini
index 6a044473a6b..8e3e26e135b 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/wpt/tox.ini
@@ -1,6 +1,7 @@
[tox]
-envlist = py27
+envlist = py27,py35,py36,py37,py38
skipsdist=True
+skip_missing_interpreters = False
[testenv]
deps =
diff --git a/tests/wpt/web-platform-tests/tools/wpt/wpt.py b/tests/wpt/web-platform-tests/tools/wpt/wpt.py
index 93301dd86b4..49ee6345381 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/wpt.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/wpt.py
@@ -40,13 +40,14 @@ def load_commands():
return rv
-def parse_args(argv, commands):
+def parse_args(argv, commands = load_commands()):
parser = argparse.ArgumentParser()
parser.add_argument("--venv", action="store", help="Path to an existing virtualenv to use")
parser.add_argument("--skip-venv-setup", action="store_true",
dest="skip_venv_setup",
help="Whether to use the virtualenv as-is. Must set --venv as well")
parser.add_argument("--debug", action="store_true", help="Run the debugger in case of an exception")
+ parser.add_argument("--py3", action="store_true", help="Run with python3")
subparsers = parser.add_subparsers(dest="command")
for command, props in iteritems(commands):
subparsers.add_parser(command, help=props["help"], add_help=False)
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
index ccf55d2ca7f..4ebdb3ea5f2 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
@@ -3,7 +3,7 @@ mozinfo==1.1.0
mozlog==5.0
mozdebug==0.1.1
# Pillow 7 requires Python 3
-pillow==6.2.1 # pyup: <7.0
+pillow==6.2.2 # pyup: <7.0
urllib3[secure]==1.25.8
requests==2.22.0
six==1.14.0
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/test.py b/tests/wpt/web-platform-tests/tools/wptrunner/test/test.py
index 8f323a3386c..0e3b30c745a 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/test/test.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/test/test.py
@@ -1,5 +1,4 @@
from __future__ import print_function
-import ConfigParser
import argparse
import os
import sys
@@ -7,6 +6,7 @@ import sys
from mozlog import structuredlog
from mozlog.handlers import BaseHandler, StreamHandler
from mozlog.formatters import MachFormatter
+from six.moves.configparser import ConfigParser
from wptrunner import wptcommandline, wptrunner
here = os.path.abspath(os.path.dirname(__file__))
@@ -58,7 +58,7 @@ def test_settings():
}
def read_config():
- parser = ConfigParser.ConfigParser()
+ parser = ConfigParser()
parser.read("test.cfg")
rv = {"general":{},
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini b/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini
index ad3502e02a9..c544da7a95d 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini
@@ -2,8 +2,8 @@
xfail_strict=true
[tox]
-envlist = py27-{base,chrome,edge,firefox,ie,opera,safari,sauce,servo,webkit,webkitgtk_minibrowser,epiphany},py36-base
-skip_missing_interpreters = true
+envlist = py27-{base,chrome,edge,firefox,ie,opera,safari,sauce,servo,webkit,webkitgtk_minibrowser,epiphany},{py35,py36,py37,py38}-base
+skip_missing_interpreters = False
[testenv]
deps =
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox_android.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox_android.py
index d6c8c479661..0b4832f858c 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox_android.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox_android.py
@@ -54,6 +54,7 @@ def browser_kwargs(test_type, run_info_data, config, **kwargs):
"timeout_multiplier": get_timeout_multiplier(test_type,
run_info_data,
**kwargs),
+ "e10s": run_info_data["e10s"],
# desktop only
"leak_check": False,
"stylo_threads": kwargs["stylo_threads"],
@@ -124,6 +125,9 @@ class FirefoxAndroidBrowser(FirefoxBrowser):
"network.preload": True,
})
+ if self.e10s:
+ self.profile.set_preferences({"browser.tabs.remote.autostart": True})
+
if self.test_type == "reftest":
self.logger.info("Setting android reftest preferences")
self.profile.set_preferences({
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/metadata.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/metadata.py
index aafc7d52250..03d13f87015 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/metadata.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/metadata.py
@@ -5,7 +5,7 @@ from collections import defaultdict, namedtuple
from mozlog import structuredlog
from six import ensure_str, ensure_text, iteritems, iterkeys, itervalues, text_type
-from six.moves import intern
+from six.moves import intern, range
from . import manifestupdate
from . import testloader
@@ -199,7 +199,7 @@ class InternedData(object):
return obj
def __iter__(self):
- for i in xrange(1, len(self._data[0])):
+ for i in range(1, len(self._data[0])):
yield self.get(i)
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testloader.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testloader.py
index 8fcf66d64ed..6c5b5a8ea00 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testloader.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testloader.py
@@ -6,7 +6,7 @@ from six.moves.queue import Empty
from collections import defaultdict, deque
from multiprocessing import Queue
from six import ensure_binary, iteritems
-from six.moves import xrange
+from six.moves import range
from . import manifestinclude
from . import manifestexpected
@@ -208,7 +208,7 @@ class TestLoader(object):
def load_dir_metadata(self, test_manifest, metadata_path, test_path):
rv = []
path_parts = os.path.dirname(test_path).split(os.path.sep)
- for i in xrange(len(path_parts) + 1):
+ for i in range(len(path_parts) + 1):
path = os.path.join(metadata_path, os.path.sep.join(path_parts[:i]), "__dir__.ini")
if path not in self.directory_manifests:
self.directory_manifests[path] = manifestexpected.get_dir_manifest(path,
@@ -330,8 +330,8 @@ class SingleTestSource(TestSource):
def make_queue(cls, tests, **kwargs):
test_queue = Queue()
processes = kwargs["processes"]
- queues = [deque([]) for _ in xrange(processes)]
- metadatas = [cls.group_metadata(None) for _ in xrange(processes)]
+ queues = [deque([]) for _ in range(processes)]
+ metadatas = [cls.group_metadata(None) for _ in range(processes)]
for test in tests:
idx = hash(test.id) % processes
group = queues[idx]
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py
index 5d2bcf075d0..e64f5ad8945 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py
@@ -1,3 +1,5 @@
+import sys
+
from os.path import join, dirname
import mock
@@ -18,7 +20,11 @@ def test_load_active_product(product):
# test passes if it doesn't throw
-@all_products("product")
+@all_products("product", marks={
+ "firefox": pytest.mark.xfail(sys.platform.startswith('linux') and
+ sys.version_info >= (3, 8),
+ reason="mozinfo doesn't support Linux 3.8+")
+})
def test_load_all_products(product):
"""test every product either loads or throws ImportError"""
try:
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/update/tree.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/update/tree.py
index 9006df67193..f362770ff16 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/update/tree.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/update/tree.py
@@ -3,6 +3,8 @@ import re
import subprocess
import tempfile
+from six.moves import range
+
from .. import vcs
from ..vcs import git, hg
@@ -16,7 +18,7 @@ def get_unique_name(existing, initial):
:param initial: Name, or name prefix, to use"""
if initial not in existing:
return initial
- for i in xrange(len(existing) + 1):
+ for i in range(len(existing) + 1):
test = "%s_%s" % (initial, i + 1)
if test not in existing:
return test
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/node.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/node.py
index 77b17a50325..0f82d7006b6 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/node.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/node.py
@@ -1,4 +1,4 @@
-from six.moves import xrange
+from six.moves import range
class NodeVisitor(object):
def visit(self, node):
@@ -59,7 +59,7 @@ class DataNode(Node):
index = len(self.children)
while index > 0 and isinstance(self.children[index - 1], DataNode):
index -= 1
- for i in xrange(index):
+ for i in range(index):
if other.data == self.children[i].data:
raise ValueError("Duplicate key %s" % self.children[i].data)
self.children.insert(index, other)
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py
index b8b840fcaee..abb6d4da7c8 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py
@@ -15,7 +15,7 @@
from __future__ import unicode_literals
from six import binary_type, text_type, BytesIO, unichr
-from six.moves import xrange
+from six.moves import range
from .node import (Node, AtomNode, BinaryExpressionNode, BinaryOperatorNode,
ConditionalNode, DataNode, IndexNode, KeyValueNode, ListNode,
@@ -494,7 +494,7 @@ class Tokenizer(object):
def decode_escape(self, length):
value = 0
- for i in xrange(length):
+ for i in range(length):
c = self.char()
value *= 16
value += self.escape_value(c)
diff --git a/tests/wpt/web-platform-tests/tools/wptserve/tests/test_stash.py b/tests/wpt/web-platform-tests/tools/wptserve/tests/test_stash.py
index 1ea99c0609f..31af1558b0c 100644
--- a/tests/wpt/web-platform-tests/tools/wptserve/tests/test_stash.py
+++ b/tests/wpt/web-platform-tests/tools/wptserve/tests/test_stash.py
@@ -4,6 +4,7 @@ import threading
from multiprocessing.managers import BaseManager
import pytest
+from six import PY3
Stash = pytest.importorskip("wptserve.stash").Stash
@@ -57,7 +58,8 @@ def run(process_queue, request_lock, response_lock):
process_queue.put(thread_queue.get())
-@pytest.mark.xfail(sys.platform == "win32",
+@pytest.mark.xfail(sys.platform == "win32" or
+ PY3 and multiprocessing.get_start_method() == "spawn",
reason="https://github.com/web-platform-tests/wpt/issues/16938")
def test_delayed_lock(add_cleanup):
"""Ensure that delays in proxied Lock retrieval do not interfere with
@@ -96,7 +98,8 @@ def test_delayed_lock(add_cleanup):
"both instances had valid locks")
-@pytest.mark.xfail(sys.platform == "win32",
+@pytest.mark.xfail(sys.platform == "win32" or
+ PY3 and multiprocessing.get_start_method() == "spawn",
reason="https://github.com/web-platform-tests/wpt/issues/16938")
def test_delayed_dict(add_cleanup):
"""Ensure that delays in proxied `dict` retrieval do not interfere with
diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/handlers.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/handlers.py
index c18fa2d3792..fea1277b0d1 100644
--- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/handlers.py
+++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/handlers.py
@@ -1,7 +1,3 @@
-try:
- import html
-except ImportError:
- import cgi as html
import json
import os
import sys
@@ -17,6 +13,11 @@ from .request import Authentication
from .response import MultipartContent
from .utils import HTTPException
+try:
+ from html import escape
+except ImportError:
+ from cgi import escape
+
__all__ = ["file_handler", "python_script_handler",
"FunctionHandler", "handler", "json_handler",
"as_is_handler", "ErrorHandler", "BasicAuthHandler"]
@@ -79,7 +80,7 @@ class DirectoryHandler(object):
<ul>
%(items)s
</ul>
-""" % {"path": html.escape(url_path),
+""" % {"path": escape(url_path),
"items": "\n".join(self.list_items(url_path, path))} # noqa: E122
def list_items(self, base_path, path):
@@ -105,18 +106,18 @@ class DirectoryHandler(object):
items.append([item, None])
prev_item = item
for item, dot_headers in items:
- link = html.escape(quote(item))
+ link = escape(quote(item))
dot_headers_markup = ""
if dot_headers is not None:
dot_headers_markup = (""" (<a href="%(link)s">.headers</a>)""" %
- {"link": html.escape(quote(dot_headers))})
+ {"link": escape(quote(dot_headers))})
if os.path.isdir(os.path.join(path, item)):
link += "/"
class_ = "dir"
else:
class_ = "file"
yield ("""<li class="%(class)s"><a href="%(link)s">%(name)s</a>%(headers)s</li>""" %
- {"link": link, "name": html.escape(item), "class": class_,
+ {"link": link, "name": escape(item), "class": class_,
"headers": dot_headers_markup})
diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py
index 3500948fc8c..569875bf972 100644
--- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py
+++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py
@@ -1,7 +1,3 @@
-try:
- from html import escape
-except ImportError:
- from cgi import escape
from collections import deque
import base64
import gzip as gzip_module
@@ -10,10 +6,15 @@ import os
import re
import time
import uuid
-from six.moves import StringIO
+from six.moves import StringIO
from six import text_type, binary_type
+try:
+ from html import escape
+except ImportError:
+ from cgi import escape
+
def resolve_content(response):
return b"".join(item for item in response.iter_content(read_file=True))
diff --git a/tests/wpt/web-platform-tests/touch-events/touch-touchevent-constructor.html b/tests/wpt/web-platform-tests/touch-events/touch-touchevent-constructor.html
index 1b723b7bb3c..e2d0950d5e2 100644
--- a/tests/wpt/web-platform-tests/touch-events/touch-touchevent-constructor.html
+++ b/tests/wpt/web-platform-tests/touch-events/touch-touchevent-constructor.html
@@ -13,14 +13,14 @@ test(function() {
var testIdentifier = 0;
var testTarget = document.getElementById('target0');
- assert_throws(new TypeError(), function() {new Touch();}, "Touch constructor with no argument");
- assert_throws(new TypeError(), function() {new Touch(null);}, "Touch constructor with null argument");
- assert_throws(new TypeError(), function() {new Touch(undefined);}, "Touch constructor with undefined argument");
- assert_throws(new TypeError(), function() {new Touch({});}, "Touch constructor with empty object");
- assert_throws(new TypeError(), function() {new Touch({
+ assert_throws_js(TypeError, function() {new Touch();}, "Touch constructor with no argument");
+ assert_throws_js(TypeError, function() {new Touch(null);}, "Touch constructor with null argument");
+ assert_throws_js(TypeError, function() {new Touch(undefined);}, "Touch constructor with undefined argument");
+ assert_throws_js(TypeError, function() {new Touch({});}, "Touch constructor with empty object");
+ assert_throws_js(TypeError, function() {new Touch({
identifier: testIdentifier
});}, "Touch constructor with only identifier");
- assert_throws(new TypeError(), function() {new Touch({
+ assert_throws_js(TypeError, function() {new Touch({
target: testTarget
});}, "Touch constructor with only target");
}, "Touch constructor with insufficient properties");
@@ -29,15 +29,15 @@ test(function() {
var testIdentifier = 0;
var testTarget = document.getElementById('target0');
- assert_throws(new TypeError(), function() {new Touch({
+ assert_throws_js(TypeError, function() {new Touch({
identifier: testIdentifier,
target: null
});}, "Touch constructor with null target");
- assert_throws(new TypeError(), function() {new Touch({
+ assert_throws_js(TypeError, function() {new Touch({
identifier: testIdentifier,
target: undefined
});}, "Touch constructor with undefined target");
- assert_throws(new TypeError(), function() {new Touch({
+ assert_throws_js(TypeError, function() {new Touch({
identifier: testIdentifier,
target: location
});}, "Touch constructor with Location target");
diff --git a/tests/wpt/web-platform-tests/trusted-types/DOMParser-parseFromString-regression.tentative.https.html b/tests/wpt/web-platform-tests/trusted-types/DOMParser-parseFromString-regression.tentative.https.html
index 30986e45d26..cc57ee7f8ea 100644
--- a/tests/wpt/web-platform-tests/trusted-types/DOMParser-parseFromString-regression.tentative.https.html
+++ b/tests/wpt/web-platform-tests/trusted-types/DOMParser-parseFromString-regression.tentative.https.html
@@ -27,7 +27,7 @@ test(t => {
target.appendChild(frame);
const frame_probe = document.getElementById("frame").contentDocument.getElementById("probe");
probe.innerHTML = "probe";
- assert_throws(new TypeError(), _ => { frame_probe.innnerHTML = "probe" });
+ assert_throws_js(TypeError, _ => { frame_probe.innnerHTML = "probe" });
}, "Regression test for TT changes to parseFromString.");
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP-no-name.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP-no-name.tentative.html
index 18819b20894..b1c7f51ddb3 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP-no-name.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP-no-name.tentative.html
@@ -8,7 +8,7 @@
<script>
// No name given test
test(t => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => window.trustedTypes.createPolicy('SomeName', { createHTML: s => s } ),
"createPolicy with an empty trusted-types CSP directive");
}, "No name list given - policy creation fails.");
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP.tentative.html
index 8ae162558f4..3a56546151e 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-CSP.tentative.html
@@ -20,7 +20,7 @@
// Non-allowed names test
test(t => {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
window.trustedTypes.createPolicy('SomeOtherName', { createURL: s => s } );
});
}, "Non-allowed name policy creation throws.");
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-createXXX.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-createXXX.tentative.html
index 34fbf5587da..7e39042e1cb 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-createXXX.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicy-createXXX.tentative.html
@@ -11,13 +11,13 @@
createHTML: s => s,
createScript: s => s
});
- assert_throws(new TypeError(), _ => { p1.createScriptURL("foo"); });
+ assert_throws_js(TypeError, _ => { p1.createScriptURL("foo"); });
const p2 = trustedTypes.createPolicy("policyURLAndScriptURL", {
createScriptURL: s => s
});
- assert_throws(new TypeError(), _ => { p2.createHTML("foo"); });
- assert_throws(new TypeError(), _ => { p2.createScript("foo"); });
+ assert_throws_js(TypeError, _ => { p2.createHTML("foo"); });
+ assert_throws_js(TypeError, _ => { p2.createScript("foo"); });
}, "calling undefined callbacks throws");
test(t => {
@@ -35,9 +35,9 @@
test(t => {
const policy = trustedTypes.createPolicy("nullpolicy", null);
- assert_throws(new TypeError(), _ => { policy.createScriptURL("foo"); });
- assert_throws(new TypeError(), _ => { policy.createHTML("foo"); });
- assert_throws(new TypeError(), _ => { policy.createScript("foo"); });
+ assert_throws_js(TypeError, _ => { policy.createScriptURL("foo"); });
+ assert_throws_js(TypeError, _ => { policy.createHTML("foo"); });
+ assert_throws_js(TypeError, _ => { policy.createScript("foo"); });
}, "trustedTypes.createPolicy(.., null) creates empty policy.");
@@ -55,7 +55,7 @@
[ s => s, "whatever" ],
[ s => null, "" ],
[ s => "well, " + s, "well, whatever" ],
- [ s => { throw new Error() }, new Error() ],
+ [ s => { throw new Error() }, Error ],
[ s => { aGlobalVarForSideEffectTesting = s; return s }, "whatever" ],
[ s => aGlobalVarForSideEffectTesting + s, "whateverwhatever" ],
[ aGlobalFunction.bind(aGlobalObject), "well, whatever" ],
@@ -66,7 +66,7 @@
[ s => s, INPUTS.SCRIPTURL ],
[ s => null, "" ],
[ s => s + "#duck", INPUTS.SCRIPTURL + "#duck" ],
- [ s => { throw new Error() }, new Error() ],
+ [ s => { throw new Error() }, Error ],
[ s => s + "#" + aGlobalVarForSideEffectTesting,
INPUTS.SCRIPTURL + "#global" ],
[ anotherGlobalFunction.bind(aGlobalObject), INPUTS.SCRIPTURL + "#well," ],
@@ -99,8 +99,8 @@
for (let [index, [policy_fn, value]] of test_cases.entries()) {
let subtest_name = "TestPolicy" + trusted_class.name + index;
test(t => {
- if (value instanceof Error) {
- assert_throws(value, () => builder(subtest_name, policy_fn));
+ if (typeof value == "object") {
+ assert_throws_js(value, () => builder(subtest_name, policy_fn));
} else {
assert_equals("" + builder(subtest_name, policy_fn), value);
}
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.tentative.html
index a78b3dbf0fd..746d89fa3f8 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.tentative.html
@@ -34,7 +34,7 @@
test(t => {
let p = window.trustedTypes.createPolicy('TestPolicyHTML5', { createHTML: s => { throw new Error(); }});
- assert_throws(new Error(), _ => {
+ assert_throws_js(Error, _ => {
p.createHTML('whatever');
});
}, "html = callback that throws");
@@ -58,20 +58,20 @@
test(t => {
let p = window.trustedTypes.createPolicy('TestPolicyHTML8', null);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createHTML('whatever');
});
}, "html - calling undefined callback throws");
test(t => {
let p = window.trustedTypes.createPolicy('TestPolicyHTML9', { createHTML: createHTMLJS });
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createScript(INPUTS.SCRIPT);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createScriptURL(INPUTS.SCRIPTURL);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createURL(INPUTS.URL);
});
}, "createHTML defined - calling undefined callbacks throws");
@@ -108,7 +108,7 @@
let p = window.trustedTypes.createPolicy('TestPolicyScript5', {
createScript: s => { throw new Error(); }
});
- assert_throws(new Error(), _ => {
+ assert_throws_js(Error, _ => {
p.createScript('whatever');
});
}, "script = callback that throws");
@@ -132,20 +132,20 @@
test(t => {
let p = window.trustedTypes.createPolicy('TestPolicyScript8', null);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createScript('whatever');
});
}, "script - calling undefined callback throws");
test(t => {
let p = window.trustedTypes.createPolicy('TestPolicyScript9', { createScript: createScriptJS });
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createHTML(INPUTS.HTML);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createScriptURL(INPUTS.SCRIPTURL);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createURL(INPUTS.URL);
});
}, "createScript defined - calling undefined callbacks throws");
@@ -183,7 +183,7 @@
let p = window.trustedTypes.createPolicy('TestPolicyScriptURL5', {
createScriptURL: s => { throw new Error(); }
});
- assert_throws(new Error(), _ => {
+ assert_throws_js(Error, _ => {
p.createScriptURL(INPUTS.SCRIPTURL);
});
}, "script_url = callback that throws");
@@ -207,20 +207,20 @@
test(t => {
let p = window.trustedTypes.createPolicy('TestPolicyScriptURL8', null);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createScriptURL(INPUTS.SCRIPTURL);
});
}, "script_url - calling undefined callback throws");
test(t => {
let p = window.trustedTypes.createPolicy('TestPolicyScriptURL9', { createScriptURL: createScriptURLJS });
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createHTML(INPUTS.HTML);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createScript(INPUTS.SCRIPT);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
p.createURL(INPUTS.URL);
});
}, "createScriptURL defined - calling undefined callbacks throws");
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-noNamesGiven.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-noNamesGiven.tentative.html
index cec1bfb6041..15728b9888f 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-noNamesGiven.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests-noNamesGiven.tentative.html
@@ -7,7 +7,7 @@
<script>
//No name given test
test(t => {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
window.trustedTypes.createPolicy('SomeName', { createHTML: s => s } );
});
}, "No name list given - policy creation throws");
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.tentative.html
index 8ae162558f4..3a56546151e 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.tentative.html
@@ -20,7 +20,7 @@
// Non-allowed names test
test(t => {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
window.trustedTypes.createPolicy('SomeOtherName', { createURL: s => s } );
});
}, "Non-allowed name policy creation throws.");
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.tentative.html
index 0b1872abe50..f049484f119 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.tentative.html
@@ -15,7 +15,7 @@
// Duplicate names test
test(t => {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
trustedTypes.createPolicy('SomeName', {} );
});
}, "duplicate policy name attempt throws");
diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-metadata.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-metadata.tentative.html
index 67c734b5a42..50f877cda07 100644
--- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-metadata.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-metadata.tentative.html
@@ -66,7 +66,7 @@
// test_fn();
// assert_equals(element[property], value);
// } else {
- // assert_throws(..., test_fn, ...);
+ // assert_throws_js(..., test_fn, ...);
// }
//
// Below is the same logic, but extended to handle the various edge
@@ -122,7 +122,7 @@
}
assert_equals("" + result_value, "" + value);
} else {
- assert_throws(new TypeError(), test_fn, "throws");
+ assert_throws_js(TypeError, test_fn, "throws");
}
}, `Test assignment of ${type ? type : "string"} on ${elem}.${property}`);
@@ -137,7 +137,7 @@
test_fn();
assert_equals("" + element.getAttribute(property), "" + value);
} else {
- assert_throws(new TypeError(), test_fn, "throws");
+ assert_throws_js(TypeError, test_fn, "throws");
}
}, `Test assignment of ${type ? type : "string"} on ${elem}.setAttribute(${property},..)`);
}
diff --git a/tests/wpt/web-platform-tests/trusted-types/Window-TrustedTypes.tentative.html b/tests/wpt/web-platform-tests/trusted-types/Window-TrustedTypes.tentative.html
index c61d9207b65..718c763afaf 100644
--- a/tests/wpt/web-platform-tests/trusted-types/Window-TrustedTypes.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/Window-TrustedTypes.tentative.html
@@ -10,7 +10,7 @@
}, "factory = window.trustedTypes");
test(t => {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
let factory = new TrustedTypePolicyFactory();
});
}, "factory construction fails");
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-Node-multiple-arguments.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-Node-multiple-arguments.tentative.html
index 879d34f9612..d66b8c8f25b 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-Node-multiple-arguments.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-Node-multiple-arguments.tentative.html
@@ -57,7 +57,7 @@
var test_fn = _ => { setter.apply(inner, args); };
var expected;
if (should_fail) {
- assert_throws(new TypeError(), test_fn, "This should throw.");
+ assert_throws_js(TypeError, test_fn, "This should throw.");
expected = "";
} else {
test_fn();
@@ -74,7 +74,7 @@
var test_fn = _ => { setter.apply(outer, args); };
var expected;
if (should_fail) {
- assert_throws(new TypeError(), test_fn, "This should throw.");
+ assert_throws_js(TypeError, test_fn, "This should throw.");
expected = "";
} else {
test_fn();
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMParser-parseFromString.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMParser-parseFromString.tentative.html
index 12cef6af661..bd038635df7 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMParser-parseFromString.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMParser-parseFromString.tentative.html
@@ -18,7 +18,7 @@
// String assignments throw.
test(t => {
var parser = new DOMParser();
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
var doc = parser.parseFromString("Fail", "text/html");
});
}, "`document.innerText = string` throws.");
@@ -26,7 +26,7 @@
// Null assignment throws.
test(t => {
var parser = new DOMParser();
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
var doc = parser.parseFromString(null, "text/html");
});
}, "'document.innerText = null' throws");
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMWindowTimers-setTimeout-setInterval.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMWindowTimers-setTimeout-setInterval.tentative.html
index 6d723ba23b6..d2764936675 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMWindowTimers-setTimeout-setInterval.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-DOMWindowTimers-setTimeout-setInterval.tentative.html
@@ -18,14 +18,14 @@
// String assignments throw.
test(t => {
window.timeoutTestString = t.unreached_func();
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
setTimeout("window.timeoutTestString();");
});
}, "`window.setTimeout(string)` throws.");
// Null assignment throws.
test(t => {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
setTimeout(null);
});
}, "`window.setTimeout(null)` throws.");
@@ -42,14 +42,14 @@
// String assignments throw.
test(t => {
window.intervalTestString = t.unreached_func();
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
setInterval("window.intervalTestString()");
});
}, "`window.setInterval(string)` throws.");
// Null assignment throws.
test(t => {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
setInterval(null);
});
}, "`window.setInterval(null)` throws.");
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Document-write.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Document-write.tentative.html
index 1049b46563d..fa87d119f79 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Document-write.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Document-write.tentative.html
@@ -29,7 +29,7 @@
// String assignments throw.
test(t => {
const old = document.body.innerText;
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
document.write('A string');
});
assert_equals(document.body.innerText, old);
@@ -38,7 +38,7 @@
// String assignments throw. (Now for writeln.)
test(t => {
const old = document.body.innerText;
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
document.writeln('A string');
});
assert_equals(document.body.innerText, old);
@@ -47,7 +47,7 @@
// Null assignment throws.
test(t => {
const old = document.body.innerText;
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
document.write(null);
});
assert_equals(document.body.innerText, old);
@@ -56,7 +56,7 @@
// Null assignment throws. (Now for writeln.)
test(t => {
const old = document.body.innerText;
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
document.writeln(null);
});
assert_equals(document.body.innerText, old);
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-insertAdjacentHTML.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-insertAdjacentHTML.tentative.html
index 1e8c091d87e..c91e4e56acd 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-insertAdjacentHTML.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-insertAdjacentHTML.tentative.html
@@ -45,16 +45,16 @@
var d = document.createElement('div');
container.appendChild(d);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('beforebegin', "<p>Fail</p>");
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('afterbegin', "<p>Fail</p>");
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('beforeend', "<p>Fail</p>");
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('afterend', "<p>Fail</p>");
});
@@ -72,16 +72,16 @@
var d = document.createElement('div');
container.appendChild(d);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('beforebegin', null);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('afterbegin', null);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('beforeend', null);
});
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.insertAdjacentHTML('afterend', null);
});
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-outerHTML.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-outerHTML.tentative.html
index 17815e6a9e9..397606bc056 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-outerHTML.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-outerHTML.tentative.html
@@ -30,7 +30,7 @@
test(t => {
var d = document.createElement('div');
container.appendChild(d);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.outerHTML = "Fail.";
});
assert_equals(container.innerText, "");
@@ -42,7 +42,7 @@
test(t => {
var d = document.createElement('div');
container.appendChild(d);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
d.outerHTML = null;
});
assert_equals(container.innerText, "");
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttribute.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttribute.tentative.html
index 47c4c3557f8..e6abf602fb0 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttribute.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttribute.tentative.html
@@ -59,7 +59,7 @@
test(t => {
let el = document.createElement('script');
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
el.setAttribute('SrC', INPUTS.URL);
});
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html
index cc8b05e8c83..aa13d72ceb2 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Element-setAttributeNS.tentative.html
@@ -52,7 +52,7 @@
let elem = document.createElementNS(svg, "script");
const values = [ "abc", null, html, script ];
for (const v of values) {
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
elem.setAttributeNS(xlink, "href", v);
});
}
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Range-createContextualFragment.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Range-createContextualFragment.tentative.html
index a57376206de..b38e4f3da5f 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Range-createContextualFragment.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-string-assignment-to-Range-createContextualFragment.tentative.html
@@ -20,7 +20,7 @@
test(t => {
var range = document.createRange();
range.selectNodeContents(document.documentElement);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
var result = range.createContextualFragment("A string");
});
}, "`range.createContextualFragment(string)` throws.");
@@ -29,7 +29,7 @@
test(t => {
var range = document.createRange();
range.selectNodeContents(document.documentElement);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
var result = range.createContextualFragment(null);
});
}, "`range.createContextualFragment(null)` throws.");
diff --git a/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html
index 1f5e8fda7ae..607a622f2b3 100644
--- a/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html
@@ -156,12 +156,12 @@
promise_test(t => {
const inserted_script = document.getElementById("script1");
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
inserted_script.innerHTML = "2+2";
});
let new_script = document.createElement("script");
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
new_script.innerHTML = "2+2";
container.appendChild(new_script);
});
diff --git a/tests/wpt/web-platform-tests/trusted-types/csp-block-eval.tentative.html b/tests/wpt/web-platform-tests/trusted-types/csp-block-eval.tentative.html
index 93a97f15f8a..7902ca4040f 100644
--- a/tests/wpt/web-platform-tests/trusted-types/csp-block-eval.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/csp-block-eval.tentative.html
@@ -14,7 +14,7 @@
test(t => {
let a = 0;
- assert_throws(new EvalError(), _ => {
+ assert_throws_js(EvalError, _ => {
eval('a="hello there"');
});
assert_equals(a, 0);
@@ -22,7 +22,7 @@
test(t => {
let a = 0;
- assert_throws(new EvalError(), _ => {
+ assert_throws_js(EvalError, _ => {
eval(p.createScript('a="Hello transformed string"'));
});
assert_equals(a, 0);
diff --git a/tests/wpt/web-platform-tests/trusted-types/default-policy-report-only.tentative.html b/tests/wpt/web-platform-tests/trusted-types/default-policy-report-only.tentative.html
index ba23d7a3678..1cff751a801 100644
--- a/tests/wpt/web-platform-tests/trusted-types/default-policy-report-only.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/default-policy-report-only.tentative.html
@@ -89,7 +89,7 @@ testCases.forEach(c => {
}, name + "null");
test(t => {
const element = document.createElement(c[0]);
- assert_throws(RangeError(), _ => element[c[1]] = "throw");
+ assert_throws_js(RangeError, _ => element[c[1]] = "throw");
}, name + "throw");
test(t => {
const element = document.createElement(c[0]);
@@ -98,7 +98,7 @@ testCases.forEach(c => {
}, name + "undefined");
test(t => {
const element = document.createElement(c[0]);
- assert_throws(TypeError(), _ => element[c[1]] = "typeerror");
+ assert_throws_js(TypeError, _ => element[c[1]] = "typeerror");
}, name + "typeerror");
});
diff --git a/tests/wpt/web-platform-tests/trusted-types/default-policy.tentative.html b/tests/wpt/web-platform-tests/trusted-types/default-policy.tentative.html
index 955cdfaa404..debde85cdac 100644
--- a/tests/wpt/web-platform-tests/trusted-types/default-policy.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/default-policy.tentative.html
@@ -48,7 +48,7 @@ const testCases = [
testCases.forEach(c => {
test(t => {
const element = document.createElement(c[0]);
- assert_throws(TypeError(), _ => element[c[1]] = "nodefault");
+ assert_throws_js(TypeError, _ => element[c[1]] = "nodefault");
assert_equals(element[c[1]], "");
}, `${c[0]}.${c[1]} no default policy`);
});
@@ -84,21 +84,21 @@ testCases.forEach(c => {
}, name + "default");
test(t => {
const element = document.createElement(c[0]);
- assert_throws(TypeError(), _ => element[c[1]] = "null");
+ assert_throws_js(TypeError, _ => element[c[1]] = "null");
assert_equals(element[c[1]], "");
}, name + "null");
test(t => {
const element = document.createElement(c[0]);
- assert_throws(RangeError(), _ => element[c[1]] = "throw");
+ assert_throws_js(RangeError, _ => element[c[1]] = "throw");
}, name + "throw");
test(t => {
const element = document.createElement(c[0]);
- assert_throws(TypeError(), _ => element[c[1]] = "undefined");
+ assert_throws_js(TypeError, _ => element[c[1]] = "undefined");
assert_equals(element[c[1]], "");
}, name + "undefined");
test(t => {
const element = document.createElement(c[0]);
- assert_throws(TypeError(), _ => element[c[1]] = "typeerror");
+ assert_throws_js(TypeError, _ => element[c[1]] = "typeerror");
}, name + "typeerror");
});
diff --git a/tests/wpt/web-platform-tests/trusted-types/empty-default-policy.tentative.html b/tests/wpt/web-platform-tests/trusted-types/empty-default-policy.tentative.html
index 2d3a10addbc..d31b48ecd5a 100644
--- a/tests/wpt/web-platform-tests/trusted-types/empty-default-policy.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/empty-default-policy.tentative.html
@@ -41,7 +41,7 @@ testCases.forEach(c => {
const name = `${c[0]}.${c[1]} `;
test(t => {
const element = document.createElement(c[0]);
- assert_throws(TypeError(), _ => element[c[1]] = "abc");
+ assert_throws_js(TypeError, _ => element[c[1]] = "abc");
assert_equals(element[c[1]], "");
}, name + "default");
});
diff --git a/tests/wpt/web-platform-tests/trusted-types/eval-csp-tt-no-default-policy.tentative.html b/tests/wpt/web-platform-tests/trusted-types/eval-csp-tt-no-default-policy.tentative.html
index 0da09a8a5cd..6d48ae48a01 100644
--- a/tests/wpt/web-platform-tests/trusted-types/eval-csp-tt-no-default-policy.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/eval-csp-tt-no-default-policy.tentative.html
@@ -15,7 +15,7 @@
}, "eval of TrustedScript works.");
test(t => {
- assert_throws(new EvalError(), _ => eval('1+1'));
+ assert_throws_js(EvalError, _ => eval('1+1'));
}, "eval of string fails.");
test(t => {
diff --git a/tests/wpt/web-platform-tests/trusted-types/eval-with-permissive-csp.tentative.html b/tests/wpt/web-platform-tests/trusted-types/eval-with-permissive-csp.tentative.html
index 32f12d8e129..5a35561438a 100644
--- a/tests/wpt/web-platform-tests/trusted-types/eval-with-permissive-csp.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/eval-with-permissive-csp.tentative.html
@@ -14,7 +14,7 @@
let p = createScript_policy(window, 1);
test(t => {
let a = 0;
- assert_throws(new EvalError(), _ => {
+ assert_throws_js(EvalError, _ => {
eval('a="hello there"');
});
assert_equals(a, 0);
diff --git a/tests/wpt/web-platform-tests/trusted-types/require-trusted-types-for.tentative.html b/tests/wpt/web-platform-tests/trusted-types/require-trusted-types-for.tentative.html
index 95cfc4d106e..2a3820a89b8 100644
--- a/tests/wpt/web-platform-tests/trusted-types/require-trusted-types-for.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/require-trusted-types-for.tentative.html
@@ -28,7 +28,7 @@
let p = Promise.resolve()
.then(promise_violation("require-trusted-types-for 'script'"));
d = document.createElement("div");
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => {
d.innerHTML = "a";
});
@@ -40,7 +40,7 @@
let p = Promise.resolve()
.then(promise_violation("require-trusted-types-for 'script'"));
d = document.createElement("script");
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => {
d.innerText = "a";
});
@@ -52,7 +52,7 @@
let p = Promise.resolve()
.then(promise_violation("require-trusted-types-for 'script'"));
s = document.createElement("script");
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => {
s.src = "a";
});
@@ -75,4 +75,4 @@
resolve();
});
}, "Set require trusted types for 'script' without CSP for trusted types don't block policy creation and using.");
-</script> \ No newline at end of file
+</script>
diff --git a/tests/wpt/web-platform-tests/trusted-types/support/WorkerGlobalScope-importScripts.https.js b/tests/wpt/web-platform-tests/trusted-types/support/WorkerGlobalScope-importScripts.https.js
index fa63c8bad0f..c40e8550dd6 100644
--- a/tests/wpt/web-platform-tests/trusted-types/support/WorkerGlobalScope-importScripts.https.js
+++ b/tests/wpt/web-platform-tests/trusted-types/support/WorkerGlobalScope-importScripts.https.js
@@ -27,13 +27,13 @@ test(t => {
test(t => {
let untrusted_url = "player.js";
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { importScripts(untrusted_url) },
"importScripts(untrusted_url)");
}, "importScripts with untrusted URLs throws in " + worker_type);
test(t => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { importScripts(null) },
"importScripts(null)");
}, "null is not a trusted script URL throws in " + worker_type);
@@ -49,7 +49,7 @@ test(t => {
test(t => {
let untrusted_url = "player.js?variant1";
let untrusted_url2 = "player.js?variant2";
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { importScripts(untrusted_url, untrusted_url2) },
"importScripts(untrusted_url, untrusted_url2)");
}, "importScripts with two URLs, both strings, in " + worker_type);
@@ -57,7 +57,7 @@ test(t => {
test(t => {
let untrusted_url = "player.js";
let trusted_url = test_policy.createScriptURL(untrusted_url);
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { importScripts(untrusted_url, trusted_url) },
"importScripts(untrusted_url, trusted_url)");
}, "importScripts with two URLs, one trusted, in " + worker_type);
diff --git a/tests/wpt/web-platform-tests/trusted-types/support/helper.sub.js b/tests/wpt/web-platform-tests/trusted-types/support/helper.sub.js
index 20f56c3cbc7..2d1bd436bdf 100644
--- a/tests/wpt/web-platform-tests/trusted-types/support/helper.sub.js
+++ b/tests/wpt/web-platform-tests/trusted-types/support/helper.sub.js
@@ -75,7 +75,7 @@ function assert_element_accepts_trusted_type(tag, attribute, value, expected) {
function assert_throws_no_trusted_type(tag, attribute, value) {
let elem = document.createElement(tag);
let prev = elem[attribute];
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
elem[attribute] = value;
});
assert_equals(elem[attribute], prev);
@@ -111,7 +111,7 @@ function assert_element_accepts_trusted_type_explicit_set(tag, attribute, value,
function assert_throws_no_trusted_type_explicit_set(tag, attribute, value) {
let elem = document.createElement(tag);
let prev = elem[attribute];
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
elem.setAttribute(attribute, value);
});
assert_equals(elem[attribute], prev);
@@ -153,7 +153,7 @@ function assert_element_accepts_trusted_type_set_ns(tag, attribute, value, expec
function assert_throws_no_trusted_type_set_ns(tag, attribute, value) {
let elem = document.createElement(tag);
- assert_throws(new TypeError(), _ => {
+ assert_throws_js(TypeError, _ => {
elem.setAttributeNS(namespace, attribute, value);
});
}
diff --git a/tests/wpt/web-platform-tests/trusted-types/trusted-types-createHTMLDocument.tentative.html b/tests/wpt/web-platform-tests/trusted-types/trusted-types-createHTMLDocument.tentative.html
index 711e494a160..ac95d9e64de 100644
--- a/tests/wpt/web-platform-tests/trusted-types/trusted-types-createHTMLDocument.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/trusted-types-createHTMLDocument.tentative.html
@@ -35,7 +35,7 @@ function doc_test(doc_type, test_fn, description) {
for (let doc_type in doc_types) {
doc_test(doc_type, doc => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => { doc.createElement("script").textContent = "2+2"; });
}, "Trusted Type assignment is blocked." );
@@ -44,7 +44,7 @@ for (let doc_type in doc_types) {
const value = policy.createHTML("hello");
doc.body.innerHTML = value;
assert_equals(doc.body.textContent, "hello");
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => { doc.body.innerHTML = "world"; });
}, "Trusted Type instances created in the main doc can be used.");
}
diff --git a/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names-list.tentative.html b/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names-list.tentative.html
index 839f2ef7a3a..9a895ffa2ad 100644
--- a/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names-list.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names-list.tentative.html
@@ -8,13 +8,13 @@
<script>
test(t => {
trustedTypes.createPolicy("a", {}),
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => trustedTypes.createPolicy("a", {}),
"Duplicate name");
trustedTypes.createPolicy("b", {}),
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => trustedTypes.createPolicy("d", {}),
"Invalid name.");
}, "TrustedTypePolicyFactory and policy list in CSP.");
diff --git a/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names.tentative.html b/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names.tentative.html
index fb808246ac8..e817cf145a2 100644
--- a/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/trusted-types-duplicate-names.tentative.html
@@ -18,7 +18,7 @@ test(t => {
assert_equals("" + b.createHTML(""), "b");
let def = trustedTypes.createPolicy("default", {});
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
_ => trustedTypes.createPolicy("default", {}));
}, "policy - duplicate names");
</script>
diff --git a/tests/wpt/web-platform-tests/trusted-types/trusted-types-eval-reporting.tentative.https.html b/tests/wpt/web-platform-tests/trusted-types/trusted-types-eval-reporting.tentative.https.html
index a521f94389a..90007168a13 100644
--- a/tests/wpt/web-platform-tests/trusted-types/trusted-types-eval-reporting.tentative.https.html
+++ b/tests/wpt/web-platform-tests/trusted-types/trusted-types-eval-reporting.tentative.https.html
@@ -70,7 +70,7 @@
let p = Promise.resolve()
.then(promise_violation("require-trusted-types-for 'script'"))
.then(promise_flush());
- assert_throws(new EvalError(),
+ assert_throws_js(EvalError,
_ => eval('beacon="should not run"'));
assert_equals(beacon, 'never_overwritten');
flush();
diff --git a/tests/wpt/web-platform-tests/trusted-types/tt-block-eval.tentative.html b/tests/wpt/web-platform-tests/trusted-types/tt-block-eval.tentative.html
index 8fe8aa50d6c..f9c1a5d0b12 100644
--- a/tests/wpt/web-platform-tests/trusted-types/tt-block-eval.tentative.html
+++ b/tests/wpt/web-platform-tests/trusted-types/tt-block-eval.tentative.html
@@ -11,7 +11,7 @@
test(t => {
let a = 0;
- assert_throws(new EvalError(), _ => {
+ assert_throws_js(EvalError, _ => {
eval('a="hello there"');
});
assert_equals(a, 0);
diff --git a/tests/wpt/web-platform-tests/uievents/legacy/Event-subclasses-init.html b/tests/wpt/web-platform-tests/uievents/legacy/Event-subclasses-init.html
index 676eec92809..a79a9f18adb 100644
--- a/tests/wpt/web-platform-tests/uievents/legacy/Event-subclasses-init.html
+++ b/tests/wpt/web-platform-tests/uievents/legacy/Event-subclasses-init.html
@@ -11,7 +11,7 @@ for (let eventTypeName of ['UIEvent', 'MouseEvent', 'KeyboardEvent', 'Compositio
let event = new eventType('test');
let initFunction = "init" + eventTypeName;
- assert_throws(new TypeError(), function() { eventType.prototype[initFunction].call(event) });
+ assert_throws_js(TypeError, function() { eventType.prototype[initFunction].call(event) });
}, `Call init${eventTypeName} without parameters`);
}
</script>
diff --git a/tests/wpt/web-platform-tests/url/failure.html b/tests/wpt/web-platform-tests/url/failure.html
index ac16edf8c74..8f3d0299a40 100644
--- a/tests/wpt/web-platform-tests/url/failure.html
+++ b/tests/wpt/web-platform-tests/url/failure.html
@@ -20,7 +20,7 @@ function runTests(testData) {
self.test(() => { // URL's constructor's first argument is tested by url-constructor.html
// If a URL fails to parse with any valid base, it must also fail to parse with no base, i.e.
// when used as a base URL itself.
- assert_throws(new TypeError(), () => new URL("about:blank", test.input));
+ assert_throws_js(TypeError, () => new URL("about:blank", test.input));
}, "URL's constructor's base argument: " + name)
self.test(() => {
@@ -30,7 +30,7 @@ function runTests(testData) {
self.test(() => {
const client = new XMLHttpRequest()
- assert_throws("SyntaxError", () => client.open("GET", test.input))
+ assert_throws_dom("SyntaxError", () => client.open("GET", test.input))
}, "XHR: " + name)
self.test(() => {
@@ -42,7 +42,7 @@ function runTests(testData) {
}, "Location's href: " + name)
self.test(() => {
- assert_throws("SyntaxError", () => self.open(test.input).close())
+ assert_throws_dom("SyntaxError", () => self.open(test.input).close())
}, "window.open(): " + name)
}
}
diff --git a/tests/wpt/web-platform-tests/url/historical.any.js b/tests/wpt/web-platform-tests/url/historical.any.js
index 407e118f3a0..c3067dfd730 100644
--- a/tests/wpt/web-platform-tests/url/historical.any.js
+++ b/tests/wpt/web-platform-tests/url/historical.any.js
@@ -15,7 +15,7 @@ if(self.GLOBAL.isWindow()) {
test(function() {
var url = new URL("./foo", "http://www.example.org");
assert_equals(url.href, "http://www.example.org/foo");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
url.href = "./bar";
});
}, "Setting URL's href attribute and base URLs");
diff --git a/tests/wpt/web-platform-tests/url/url-constructor.html b/tests/wpt/web-platform-tests/url/url-constructor.html
index cb4c0db3571..7ddcdc88170 100644
--- a/tests/wpt/web-platform-tests/url/url-constructor.html
+++ b/tests/wpt/web-platform-tests/url/url-constructor.html
@@ -15,7 +15,7 @@ function runURLTests(urltests) {
test(function() {
if (expected.failure) {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
bURL(expected.input, expected.base)
})
return
diff --git a/tests/wpt/web-platform-tests/url/url-searchparams.any.js b/tests/wpt/web-platform-tests/url/url-searchparams.any.js
index c55ae58d3b1..34d4a4b0689 100644
--- a/tests/wpt/web-platform-tests/url/url-searchparams.any.js
+++ b/tests/wpt/web-platform-tests/url/url-searchparams.any.js
@@ -29,7 +29,7 @@ function runURLSearchParamTests() {
'use strict'
var urlString = 'http://example.org'
var url = bURL(urlString)
- assert_throws(TypeError(), function() { url.searchParams = new URLSearchParams(urlString) })
+ assert_throws_js(TypeError, function() { url.searchParams = new URLSearchParams(urlString) })
}, 'URL.searchParams setter, invalid values')
test(function() {
diff --git a/tests/wpt/web-platform-tests/user-timing/invoke_with_timing_attributes.html b/tests/wpt/web-platform-tests/user-timing/invoke_with_timing_attributes.html
index 6c06f5e9d52..1df94a3006d 100644
--- a/tests/wpt/web-platform-tests/user-timing/invoke_with_timing_attributes.html
+++ b/tests/wpt/web-platform-tests/user-timing/invoke_with_timing_attributes.html
@@ -15,7 +15,7 @@
<script>
function emit_test(attrName) {
test(function() {
- assert_throws("SyntaxError", function() { window.performance.mark(attrName); });
+ assert_throws_dom("SyntaxError", function() { window.performance.mark(attrName); });
}, "performance.mark should throw if used with timing attribute " + attrName);
}
for (var i in timingAttributes) {
diff --git a/tests/wpt/web-platform-tests/user-timing/invoke_without_parameter.html b/tests/wpt/web-platform-tests/user-timing/invoke_without_parameter.html
index e47a3ba7a98..114435e59be 100644
--- a/tests/wpt/web-platform-tests/user-timing/invoke_without_parameter.html
+++ b/tests/wpt/web-platform-tests/user-timing/invoke_without_parameter.html
@@ -15,11 +15,11 @@
<div id="log"></div>
<script>
test(function () {
- assert_throws(new TypeError(), function () { window.performance.mark() });
+ assert_throws_js(TypeError, function () { window.performance.mark() });
}, "window.performance.mark() throws a TypeError exception when invoke without a parameter.");
test(function () {
- assert_throws(new TypeError(), function () { window.performance.measure(); });
+ assert_throws_js(TypeError, function () { window.performance.measure(); });
}, "window.performance.measure() throws a TypeError exception when invoke without a parameter.");
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/user-timing/mark-errors.any.js b/tests/wpt/web-platform-tests/user-timing/mark-errors.any.js
index 3207d18b048..dcd36695e22 100644
--- a/tests/wpt/web-platform-tests/user-timing/mark-errors.any.js
+++ b/tests/wpt/web-platform-tests/user-timing/mark-errors.any.js
@@ -1,15 +1,15 @@
test(function() {
- assert_throws(new TypeError(), function() { self.performance.mark("mark1", 123); }, "Number passed as a dict argument should cause type-error.")
+ assert_throws_js(TypeError, function() { self.performance.mark("mark1", 123); }, "Number passed as a dict argument should cause type-error.")
}, "Number should be rejected as the mark-options.")
test(function() {
- assert_throws(new TypeError(), function() { self.performance.mark("mark1", NaN); }, "NaN passed as a dict argument should cause type-error.")
+ assert_throws_js(TypeError, function() { self.performance.mark("mark1", NaN); }, "NaN passed as a dict argument should cause type-error.")
}, "NaN should be rejected as the mark-options.")
test(function() {
- assert_throws(new TypeError(), function() { self.performance.mark("mark1", Infinity); }, "Infinity passed as a dict argument should cause type-error.")
+ assert_throws_js(TypeError, function() { self.performance.mark("mark1", Infinity); }, "Infinity passed as a dict argument should cause type-error.")
}, "Infinity should be rejected as the mark-options.")
test(function() {
- assert_throws(new TypeError(), function() { self.performance.mark("mark1", "string"); }, "String passed as a dict argument should cause type-error.")
+ assert_throws_js(TypeError, function() { self.performance.mark("mark1", "string"); }, "String passed as a dict argument should cause type-error.")
}, "String should be rejected as the mark-options.")
diff --git a/tests/wpt/web-platform-tests/user-timing/mark_exceptions.html b/tests/wpt/web-platform-tests/user-timing/mark_exceptions.html
index e1f4c4e0f49..b445c6b8778 100644
--- a/tests/wpt/web-platform-tests/user-timing/mark_exceptions.html
+++ b/tests/wpt/web-platform-tests/user-timing/mark_exceptions.html
@@ -12,14 +12,14 @@
<script>
function test_exception(attrName) {
test(function () {
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
window.performance.mark(attrName);
})
}, "window.performance.mark(\"" + attrName + "\") throws a SyntaxError exception.");
}
test(() => {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
window.performance.mark();
});
}, 'window.performance.mark() throws a TypeError exception.')
diff --git a/tests/wpt/web-platform-tests/user-timing/measure-exceptions.html b/tests/wpt/web-platform-tests/user-timing/measure-exceptions.html
index 0c532e79390..2836eaee2a8 100644
--- a/tests/wpt/web-platform-tests/user-timing/measure-exceptions.html
+++ b/tests/wpt/web-platform-tests/user-timing/measure-exceptions.html
@@ -27,7 +27,7 @@
];
eventMarks.forEach(function(name) {
test(()=>{
- assert_throws("InvalidAccessError", ()=>{
+ assert_throws_dom("InvalidAccessError", ()=>{
window.performance.measure("measuring", name, "mark");
}, "Should throw");
}, `Passing '${name}' as a mark to measure API should cause error when the mark is empty.`);
@@ -39,7 +39,7 @@
];
args.forEach(each => {
test(()=>{
- assert_throws("SyntaxError", ()=>{
+ assert_throws_dom("SyntaxError", ()=>{
window.performance.measure("measuring", each, "mark");
}, "Should throw");
}, `Passing ${each} as a mark to measure API should cause error.`);
diff --git a/tests/wpt/web-platform-tests/user-timing/measure-with-dict.any.js b/tests/wpt/web-platform-tests/user-timing/measure-with-dict.any.js
index 95160fea894..b452feb0de6 100644
--- a/tests/wpt/web-platform-tests/user-timing/measure-with-dict.any.js
+++ b/tests/wpt/web-platform-tests/user-timing/measure-with-dict.any.js
@@ -96,16 +96,16 @@ async_test(function (t) {
test(function() {
this.add_cleanup(cleanupPerformanceTimeline);
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
self.performance.measure("optionsAndNumberEnd", {'start': 2}, 12);
}, "measure should throw a TypeError when passed an options object and an end time");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
self.performance.measure("optionsAndMarkEnd", {'start': 2}, 'mark1');
}, "measure should throw a TypeError when passed an options object and an end mark");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
self.performance.measure("negativeStartInOptions", {'start': -1});
}, "measure cannot have a negative time stamp.");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
self.performance.measure("negativeEndInOptions", {'end': -1});
}, "measure cannot have a negative time stamp for end.");
}, "measure should throw a TypeError when passed an invalid argument combination");
diff --git a/tests/wpt/web-platform-tests/user-timing/measure_exceptions_navigation_timing.html b/tests/wpt/web-platform-tests/user-timing/measure_exceptions_navigation_timing.html
index 1633221198c..b1868b2cb6b 100644
--- a/tests/wpt/web-platform-tests/user-timing/measure_exceptions_navigation_timing.html
+++ b/tests/wpt/web-platform-tests/user-timing/measure_exceptions_navigation_timing.html
@@ -27,7 +27,7 @@ setup(function () {
});
test(function () {
- assert_throws("InvalidAccessError", function () {
+ assert_throws_dom("InvalidAccessError", function () {
window.performance.measure("measure", zeroedNavTimingAtt);
});
}, "window.performance.measure(\"measure\", \"" + zeroedNavTimingAtt + "\"), where \"" +
@@ -35,7 +35,7 @@ test(function () {
"InvalidAccessError exception.");
test(function () {
- assert_throws("InvalidAccessError", function () {
+ assert_throws_dom("InvalidAccessError", function () {
window.performance.measure("measure", zeroedNavTimingAtt, "responseEnd");
});
}, "window.performance.measure(\"measure\", \"" + zeroedNavTimingAtt + "\", " +
@@ -43,7 +43,7 @@ test(function () {
"attribute with a value of 0, throws a InvalidAccessError exception.");
test(function () {
- assert_throws("InvalidAccessError", function () {
+ assert_throws_dom("InvalidAccessError", function () {
window.performance.measure("measure", "navigationStart", zeroedNavTimingAtt);
});
}, "window.performance.measure(\"measure\", \"navigationStart\", \"" + zeroedNavTimingAtt +
@@ -51,7 +51,7 @@ test(function () {
"value of 0, throws a InvalidAccessError exception.");
test(function () {
- assert_throws("InvalidAccessError", function () {
+ assert_throws_dom("InvalidAccessError", function () {
window.performance.measure("measure", zeroedNavTimingAtt, zeroedNavTimingAtt);
});
}, "window.performance.measure(\"measure\", \"" + zeroedNavTimingAtt + "\", \"" +
diff --git a/tests/wpt/web-platform-tests/user-timing/measure_syntax_err.any.js b/tests/wpt/web-platform-tests/user-timing/measure_syntax_err.any.js
index 84829f11eb1..9b762a40906 100644
--- a/tests/wpt/web-platform-tests/user-timing/measure_syntax_err.any.js
+++ b/tests/wpt/web-platform-tests/user-timing/measure_syntax_err.any.js
@@ -5,28 +5,28 @@ test(function () {
self.performance.measure("measure", "existing_mark");
}, "Create a mark \"existing_mark\"");
test(function () {
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
self.performance.measure("measure", "mark");
});
}, "self.performance.measure(\"measure\", \"mark\"), where \"mark\" is a non-existent mark, " +
"throws a SyntaxError exception.");
test(function () {
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
self.performance.measure("measure", "mark", "existing_mark");
});
}, "self.performance.measure(\"measure\", \"mark\", \"existing_mark\"), where \"mark\" is a " +
"non-existent mark, throws a SyntaxError exception.");
test(function () {
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
self.performance.measure("measure", "existing_mark", "mark");
});
}, "self.performance.measure(\"measure\", \"existing_mark\", \"mark\"), where \"mark\" " +
"is a non-existent mark, throws a SyntaxError exception.");
test(function () {
- assert_throws(new SyntaxError(), function () {
+ assert_throws_dom("SyntaxError", function () {
self.performance.measure("measure", "mark", "mark");
});
}, "self.performance.measure(\"measure\", \"mark\", \"mark\"), where \"mark\" is a " +
diff --git a/tests/wpt/web-platform-tests/user-timing/performance-measure-invalid.worker.js b/tests/wpt/web-platform-tests/user-timing/performance-measure-invalid.worker.js
index dedd6da8884..29efb729992 100644
--- a/tests/wpt/web-platform-tests/user-timing/performance-measure-invalid.worker.js
+++ b/tests/wpt/web-platform-tests/user-timing/performance-measure-invalid.worker.js
@@ -1,7 +1,7 @@
importScripts("/resources/testharness.js");
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
performance.measure('name', 'navigationStart', 'navigationStart');
});
}, "When converting 'navigationStart' to a timestamp, the global object has to be a Window object.");
diff --git a/tests/wpt/web-platform-tests/user-timing/structured-serialize-detail.any.js b/tests/wpt/web-platform-tests/user-timing/structured-serialize-detail.any.js
index 0c4be9a3bcb..78771b2f766 100644
--- a/tests/wpt/web-platform-tests/user-timing/structured-serialize-detail.any.js
+++ b/tests/wpt/web-platform-tests/user-timing/structured-serialize-detail.any.js
@@ -22,7 +22,7 @@ test(function() {
test(function() {
performance.clearMarks();
const detail = { unserializable: Symbol() };
- assert_throws("DataCloneError", ()=>{
+ assert_throws_dom("DataCloneError", ()=>{
new PerformanceMark("A", { detail });
}, "Trying to structured-serialize a Symbol.");
}, "Mark: Throw an exception when the detail property cannot be structured-serialized.");
@@ -50,7 +50,7 @@ test(function() {
test(function() {
performance.clearMeasures();
const detail = { unserializable: Symbol() };
- assert_throws("DataCloneError", ()=>{
+ assert_throws_dom("DataCloneError", ()=>{
performance.measure("A", { start: 0, detail });
}, "Trying to structured-serialize a Symbol.");
}, "Measure: Throw an exception when the detail property cannot be structured-serialized.");
diff --git a/tests/wpt/web-platform-tests/vibration/invalid-values.html b/tests/wpt/web-platform-tests/vibration/invalid-values.html
index 9381dadcc06..a8b2534feac 100644
--- a/tests/wpt/web-platform-tests/vibration/invalid-values.html
+++ b/tests/wpt/web-platform-tests/vibration/invalid-values.html
@@ -9,7 +9,7 @@
<script>
test(function() {
assert_precondition(navigator.vibrate, 'navigator.vibrate exists');
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
navigator.vibrate();
}, 'Argument is required, so was expecting a TypeError.');
}, 'Missing pattern argument');
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/constructor/validate.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/constructor/validate.any.js
index 57fa3359770..a0eaa3fb87d 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/constructor/validate.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/constructor/validate.any.js
@@ -7,7 +7,7 @@ setup(() => {
});
test(() => {
- assert_throws(new TypeError(), () => WebAssembly.validate());
+ assert_throws_js(TypeError, () => WebAssembly.validate());
}, "Missing argument");
test(() => {
@@ -24,7 +24,7 @@ test(() => {
Array.from(emptyModuleBinary),
];
for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => WebAssembly.validate(argument),
+ assert_throws_js(TypeError, () => WebAssembly.validate(argument),
`validate(${format_value(argument)})`);
}
}, "Invalid arguments");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/global/constructor.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/global/constructor.any.js
index 237f99c8b29..cb287da4e9a 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/global/constructor.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/global/constructor.any.js
@@ -19,12 +19,12 @@ test(() => {
}, "length");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Global());
+ assert_throws_js(TypeError, () => new WebAssembly.Global());
}, "No arguments");
test(() => {
const argument = { "value": "i32" };
- assert_throws(new TypeError(), () => WebAssembly.Global(argument));
+ assert_throws_js(TypeError, () => WebAssembly.Global(argument));
}, "Calling");
test(() => {
@@ -73,7 +73,7 @@ test(() => {
{},
];
for (const invalidArgument of invalidArguments) {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new WebAssembly.Global(invalidArgument),
`new Global(${format_value(invalidArgument)})`);
}
@@ -83,15 +83,15 @@ test(() => {
const invalidTypes = ["i16", "i128", "f16", "f128", "u32", "u64", "i32\0"];
for (const value of invalidTypes) {
const argument = { value };
- assert_throws(new TypeError(), () => new WebAssembly.Global(argument));
+ assert_throws_js(TypeError, () => new WebAssembly.Global(argument));
}
}, "Invalid type argument");
test(() => {
const argument = { "value": "i64" };
const global = new WebAssembly.Global(argument);
- assert_throws(new TypeError(), () => global.value);
- assert_throws(new TypeError(), () => global.valueOf());
+ assert_throws_js(TypeError, () => global.value);
+ assert_throws_js(TypeError, () => global.valueOf());
}, "i64 with default");
for (const type of ["i32", "f32", "f64"]) {
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/global/value-get-set.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/global/value-get-set.any.js
index 7b45ddc20b2..69f0e46379f 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/global/value-get-set.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/global/value-get-set.any.js
@@ -23,8 +23,8 @@ test(() => {
assert_equals(typeof setter, "function");
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => getter.call(thisValue), `getter with this=${format_value(thisValue)}`);
- assert_throws(new TypeError(), () => setter.call(thisValue, 1), `setter with this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => getter.call(thisValue), `getter with this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => setter.call(thisValue, 1), `setter with this=${format_value(thisValue)}`);
}
}, "Branding");
@@ -44,7 +44,7 @@ for (const type of ["i32", "f32", "f64"]) {
assert_equals(global.value, 0, "initial value");
assert_equals(global.valueOf(), 0, "initial valueOf");
- assert_throws(new TypeError(), () => global.value = 1);
+ assert_throws_js(TypeError, () => global.value = 1);
assert_equals(global.value, 0, "post-set value");
assert_equals(global.valueOf(), 0, "post-set valueOf");
@@ -60,7 +60,7 @@ for (const type of ["i32", "f32", "f64"]) {
valueOf: t.unreached_func("should not call valueOf"),
toString: t.unreached_func("should not call toString"),
};
- assert_throws(new TypeError(), () => global.value = value);
+ assert_throws_js(TypeError, () => global.value = value);
assert_equals(global.value, 0, "post-set value");
assert_equals(global.valueOf(), 0, "post-set valueOf");
@@ -91,9 +91,9 @@ for (const type of ["i32", "f32", "f64"]) {
test(() => {
const argument = { "value": "i64", "mutable": true };
const global = new WebAssembly.Global(argument);
- assert_throws(new TypeError(), () => global.value);
- assert_throws(new TypeError(), () => global.value = 0);
- assert_throws(new TypeError(), () => global.valueOf());
+ assert_throws_js(TypeError, () => global.value);
+ assert_throws_js(TypeError, () => global.value = 0);
+ assert_throws_js(TypeError, () => global.valueOf());
}, "i64 with default");
test(t => {
@@ -103,7 +103,7 @@ test(t => {
valueOf: t.unreached_func("should not call valueOf"),
toString: t.unreached_func("should not call toString"),
};
- assert_throws(new TypeError(), () => global.value = value);
+ assert_throws_js(TypeError, () => global.value = value);
}, "i64 with ToNumber side-effects");
test(() => {
@@ -115,7 +115,7 @@ test(() => {
const setter = desc.set;
assert_equals(typeof setter, "function");
- assert_throws(new TypeError(), () => setter.call(global));
+ assert_throws_js(TypeError, () => setter.call(global));
}, "Calling setter without argument");
test(() => {
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/global/valueOf.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/global/valueOf.any.js
index d4a84b254f7..0d4de93a6bd 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/global/valueOf.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/global/valueOf.any.js
@@ -17,7 +17,7 @@ test(() => {
const fn = WebAssembly.Global.prototype.valueOf;
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => fn.call(thisValue), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => fn.call(thisValue), `this=${format_value(thisValue)}`);
}
}, "Branding");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js
index 1ce4de904e1..745c3f84951 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js
@@ -17,7 +17,7 @@ test(() => {
}, "length");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Instance());
+ assert_throws_js(TypeError, () => new WebAssembly.Instance());
}, "No arguments");
test(() => {
@@ -33,14 +33,14 @@ test(() => {
WebAssembly.Module.prototype,
];
for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => new WebAssembly.Instance(argument),
+ assert_throws_js(TypeError, () => new WebAssembly.Instance(argument),
`new Instance(${format_value(argument)})`);
}
}, "Non-Module arguments");
test(() => {
const module = new WebAssembly.Module(emptyModuleBinary);
- assert_throws(new TypeError(), () => WebAssembly.Instance(module));
+ assert_throws_js(TypeError, () => WebAssembly.Instance(module));
}, "Calling");
for (const [name, fn] of instanceTestFactory) {
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/instance/exports.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/instance/exports.any.js
index 2ba57c5e2fd..7c81a41295b 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/instance/exports.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/instance/exports.any.js
@@ -28,7 +28,7 @@ test(() => {
assert_equals(typeof desc.set, "undefined");
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => getter.call(thisValue), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => getter.call(thisValue), `this=${format_value(thisValue)}`);
}
}, "Branding");
@@ -58,7 +58,7 @@ test(() => {
const module = new WebAssembly.Module(emptyModuleBinary);
const instance = new WebAssembly.Instance(module);
const exports = instance.exports;
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
"use strict";
instance.exports = {};
});
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js
index 98c4a1d781b..88940be51a7 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js
@@ -63,11 +63,11 @@ test(() => {
}, "WebAssembly: property descriptor");
test(() => {
- assert_throws(new TypeError(), () => WebAssembly());
+ assert_throws_js(TypeError, () => WebAssembly());
}, "WebAssembly: calling");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly());
+ assert_throws_js(TypeError, () => new WebAssembly());
}, "WebAssembly: constructing");
const interfaces = [
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/memory/buffer.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/memory/buffer.any.js
index 4788ffcf84f..a835e6511a0 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/memory/buffer.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/memory/buffer.any.js
@@ -22,7 +22,7 @@ test(() => {
assert_equals(typeof desc.set, "undefined");
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => getter.call(thisValue), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => getter.call(thisValue), `this=${format_value(thisValue)}`);
}
}, "Branding");
@@ -56,7 +56,7 @@ test(() => {
const memory2 = new WebAssembly.Memory(argument);
const buffer = memory.buffer;
assert_not_equals(buffer, memory2.buffer, "Need two distinct buffers");
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
"use strict";
memory.buffer = memory2.buffer;
});
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js
index cef713fe0fe..8bd606e3212 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js
@@ -31,12 +31,12 @@ test(() => {
}, "length");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Memory());
+ assert_throws_js(TypeError, () => new WebAssembly.Memory());
}, "No arguments");
test(() => {
const argument = { "initial": 0 };
- assert_throws(new TypeError(), () => WebAssembly.Memory(argument));
+ assert_throws_js(TypeError, () => WebAssembly.Memory(argument));
}, "Calling");
test(() => {
@@ -53,14 +53,14 @@ test(() => {
{},
];
for (const invalidArgument of invalidArguments) {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new WebAssembly.Memory(invalidArgument),
`new Memory(${format_value(invalidArgument)})`);
}
}, "Invalid descriptor argument");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Memory({ "initial": undefined }));
+ assert_throws_js(TypeError, () => new WebAssembly.Memory({ "initial": undefined }));
}, "Undefined initial value in descriptor");
const outOfRangeValues = [
@@ -74,20 +74,20 @@ const outOfRangeValues = [
for (const value of outOfRangeValues) {
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Memory({ "initial": value }));
+ assert_throws_js(TypeError, () => new WebAssembly.Memory({ "initial": value }));
}, `Out-of-range initial value in descriptor: ${format_value(value)}`);
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Memory({ "initial": 0, "maximum": value }));
+ assert_throws_js(TypeError, () => new WebAssembly.Memory({ "initial": 0, "maximum": value }));
}, `Out-of-range maximum value in descriptor: ${format_value(value)}`);
}
test(() => {
- assert_throws(new RangeError(), () => new WebAssembly.Memory({ "initial": 10, "maximum": 9 }));
+ assert_throws_js(RangeError, () => new WebAssembly.Memory({ "initial": 10, "maximum": 9 }));
}, "Initial value exceeds maximum");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Memory({ "initial": 10, "shared": true }));
+ assert_throws_js(TypeError, () => new WebAssembly.Memory({ "initial": 10, "shared": true }));
}, "Shared memory without maximum");
test(() => {
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/memory/grow.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/memory/grow.any.js
index 11c41942510..f07a97c9275 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/memory/grow.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/memory/grow.any.js
@@ -27,7 +27,7 @@ function assert_ArrayBuffer(actual, expected, message) {
test(() => {
const argument = { "initial": 0 };
const memory = new WebAssembly.Memory(argument);
- assert_throws(new TypeError(), () => memory.grow());
+ assert_throws_js(TypeError, () => memory.grow());
}, "Missing arguments");
test(t => {
@@ -51,7 +51,7 @@ test(t => {
const fn = WebAssembly.Memory.prototype.grow;
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => fn.call(thisValue, argument), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => fn.call(thisValue, argument), `this=${format_value(thisValue)}`);
}
}, "Branding");
@@ -145,7 +145,7 @@ test(() => {
const oldMemory = memory.buffer;
assert_ArrayBuffer(oldMemory, { "size": 1 }, "Buffer before growing");
- assert_throws(new RangeError(), () => memory.grow(2));
+ assert_throws_js(RangeError, () => memory.grow(2));
assert_equals(memory.buffer, oldMemory);
assert_ArrayBuffer(memory.buffer, { "size": 1 }, "Buffer before trying to grow");
}, "Zero initial growing too much");
@@ -166,7 +166,7 @@ for (const value of outOfRangeValues) {
test(() => {
const argument = { "initial": 0 };
const memory = new WebAssembly.Memory(argument);
- assert_throws(new TypeError(), () => memory.grow(value));
+ assert_throws_js(TypeError, () => memory.grow(value));
}, `Out-of-range argument: ${format_value(value)}`);
}
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/module/constructor.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/module/constructor.any.js
index 03e508aa1e0..1fffb6cd4f3 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/module/constructor.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/module/constructor.any.js
@@ -16,11 +16,11 @@ test(() => {
}, "length");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Module());
+ assert_throws_js(TypeError, () => new WebAssembly.Module());
}, "No arguments");
test(() => {
- assert_throws(new TypeError(), () => WebAssembly.Module(emptyModuleBinary));
+ assert_throws_js(TypeError, () => WebAssembly.Module(emptyModuleBinary));
}, "Calling");
test(() => {
@@ -38,7 +38,7 @@ test(() => {
Array.from(emptyModuleBinary),
];
for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => new WebAssembly.Module(argument),
+ assert_throws_js(TypeError, () => new WebAssembly.Module(argument),
`new Module(${format_value(argument)})`);
}
}, "Invalid arguments");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/module/customSections.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/module/customSections.any.js
index 09355979d84..298d89604cf 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/module/customSections.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/module/customSections.any.js
@@ -24,9 +24,9 @@ setup(() => {
});
test(() => {
- assert_throws(new TypeError(), () => WebAssembly.Module.customSections());
+ assert_throws_js(TypeError, () => WebAssembly.Module.customSections());
const module = new WebAssembly.Module(emptyModuleBinary);
- assert_throws(new TypeError(), () => WebAssembly.Module.customSections(module));
+ assert_throws_js(TypeError, () => WebAssembly.Module.customSections(module));
}, "Missing arguments");
test(() => {
@@ -42,7 +42,7 @@ test(() => {
WebAssembly.Module.prototype,
];
for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => WebAssembly.Module.customSections(argument, ""),
+ assert_throws_js(TypeError, () => WebAssembly.Module.customSections(argument, ""),
`customSections(${format_value(argument)})`);
}
}, "Non-Module arguments");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/module/exports.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/module/exports.any.js
index eadfc84f1e4..83f97dd67a1 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/module/exports.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/module/exports.any.js
@@ -35,7 +35,7 @@ function assert_exports(exports, expected) {
}
test(() => {
- assert_throws(new TypeError(), () => WebAssembly.Module.exports());
+ assert_throws_js(TypeError, () => WebAssembly.Module.exports());
}, "Missing arguments");
test(() => {
@@ -51,7 +51,7 @@ test(() => {
WebAssembly.Module.prototype,
];
for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => WebAssembly.Module.exports(argument),
+ assert_throws_js(TypeError, () => WebAssembly.Module.exports(argument),
`exports(${format_value(argument)})`);
}
}, "Non-Module arguments");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/module/imports.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/module/imports.any.js
index 9d7ef2f0a9b..91e4be33aca 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/module/imports.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/module/imports.any.js
@@ -41,7 +41,7 @@ setup(() => {
});
test(() => {
- assert_throws(new TypeError(), () => WebAssembly.Module.imports());
+ assert_throws_js(TypeError, () => WebAssembly.Module.imports());
}, "Missing arguments");
test(() => {
@@ -57,7 +57,7 @@ test(() => {
WebAssembly.Module.prototype,
];
for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => WebAssembly.Module.imports(argument),
+ assert_throws_js(TypeError, () => WebAssembly.Module.imports(argument),
`imports(${format_value(argument)})`);
}
}, "Non-Module arguments");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js
index c88972b4ebd..c42a446a75d 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js
@@ -2,12 +2,12 @@ function assert_equal_to_array(table, expected, message) {
assert_equals(table.length, expected.length, `${message}: length`);
// The argument check in get() happens before the range check, and negative numbers
// are illegal, hence will throw TypeError per spec.
- assert_throws(new TypeError(), () => table.get(-1), `${message}: table.get(-1)`);
+ assert_throws_js(TypeError, () => table.get(-1), `${message}: table.get(-1)`);
for (let i = 0; i < expected.length; ++i) {
assert_equals(table.get(i), expected[i], `${message}: table.get(${i} of ${expected.length})`);
}
- assert_throws(new RangeError(), () => table.get(expected.length),
+ assert_throws_js(RangeError, () => table.get(expected.length),
`${message}: table.get(${expected.length} of ${expected.length})`);
- assert_throws(new RangeError(), () => table.get(expected.length + 1),
+ assert_throws_js(RangeError, () => table.get(expected.length + 1),
`${message}: table.get(${expected.length + 1} of ${expected.length})`);
}
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/constructor.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/constructor.any.js
index 99eee19fecd..a494a9e559b 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/constructor.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/constructor.any.js
@@ -21,16 +21,16 @@ test(() => {
}, "length");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Table());
+ assert_throws_js(TypeError, () => new WebAssembly.Table());
}, "No arguments");
test(() => {
const argument = { "element": "anyfunc", "initial": 0 };
- assert_throws(new TypeError(), () => WebAssembly.Table(argument));
+ assert_throws_js(TypeError, () => WebAssembly.Table(argument));
}, "Calling");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Table({}));
+ assert_throws_js(TypeError, () => new WebAssembly.Table({}));
}, "Empty descriptor");
test(() => {
@@ -47,18 +47,18 @@ test(() => {
{},
];
for (const invalidArgument of invalidArguments) {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new WebAssembly.Table(invalidArgument),
`new Table(${format_value(invalidArgument)})`);
}
}, "Invalid descriptor argument");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Table({ "element": "anyfunc", "initial": undefined }));
+ assert_throws_js(TypeError, () => new WebAssembly.Table({ "element": "anyfunc", "initial": undefined }));
}, "Undefined initial value in descriptor");
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Table({ "element": undefined, "initial": 0 }));
+ assert_throws_js(TypeError, () => new WebAssembly.Table({ "element": undefined, "initial": 0 }));
}, "Undefined element value in descriptor");
const outOfRangeValues = [
@@ -72,16 +72,16 @@ const outOfRangeValues = [
for (const value of outOfRangeValues) {
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Table({ "element": "anyfunc", "initial": value }));
+ assert_throws_js(TypeError, () => new WebAssembly.Table({ "element": "anyfunc", "initial": value }));
}, `Out-of-range initial value in descriptor: ${format_value(value)}`);
test(() => {
- assert_throws(new TypeError(), () => new WebAssembly.Table({ "element": "anyfunc", "initial": 0, "maximum": value }));
+ assert_throws_js(TypeError, () => new WebAssembly.Table({ "element": "anyfunc", "initial": 0, "maximum": value }));
}, `Out-of-range maximum value in descriptor: ${format_value(value)}`);
}
test(() => {
- assert_throws(new RangeError(), () => new WebAssembly.Table({ "element": "anyfunc", "initial": 10, "maximum": 9 }));
+ assert_throws_js(RangeError, () => new WebAssembly.Table({ "element": "anyfunc", "initial": 10, "maximum": 9 }));
}, "Initial value exceeds maximum");
test(() => {
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js
index bd053b389c9..175f30fbcad 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js
@@ -24,7 +24,7 @@ setup(() => {
test(() => {
const argument = { "element": "anyfunc", "initial": 5 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.get());
+ assert_throws_js(TypeError, () => table.get());
}, "Missing arguments: get");
test(t => {
@@ -48,15 +48,15 @@ test(t => {
const fn = WebAssembly.Table.prototype.get;
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => fn.call(thisValue, argument), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => fn.call(thisValue, argument), `this=${format_value(thisValue)}`);
}
}, "Branding: get");
test(() => {
const argument = { "element": "anyfunc", "initial": 5 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.set());
- assert_throws(new TypeError(), () => table.set(0));
+ assert_throws_js(TypeError, () => table.set());
+ assert_throws_js(TypeError, () => table.set(0));
}, "Missing arguments: set");
test(t => {
@@ -80,7 +80,7 @@ test(t => {
const fn = WebAssembly.Table.prototype.set;
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => fn.call(thisValue, argument, null), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => fn.call(thisValue, argument, null), `this=${format_value(thisValue)}`);
}
}, "Branding: set");
@@ -128,8 +128,8 @@ test(() => {
// -1 is the wrong type hence the type check on entry gets this
// before the range check does.
- assert_throws(new TypeError(), () => table.set(-1, fn));
- assert_throws(new RangeError(), () => table.set(5, fn));
+ assert_throws_js(TypeError, () => table.set(-1, fn));
+ assert_throws_js(RangeError, () => table.set(5, fn));
assert_equal_to_array(table, [null, null, null, null, null]);
}, "Setting out-of-bounds");
@@ -149,7 +149,7 @@ test(() => {
{},
];
for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => table.set(0, argument),
+ assert_throws_js(TypeError, () => table.set(0, argument),
`set(${format_value(argument)})`);
}
assert_equal_to_array(table, [null]);
@@ -161,7 +161,7 @@ test(() => {
assert_equal_to_array(table, [null]);
const fn = function() {};
- assert_throws(new TypeError(), () => table.set(0, fn));
+ assert_throws_js(TypeError, () => table.set(0, fn));
assert_equal_to_array(table, [null]);
}, "Setting non-wasm function");
@@ -171,7 +171,7 @@ test(() => {
assert_equal_to_array(table, [null]);
const fn = () => {};
- assert_throws(new TypeError(), () => table.set(0, fn));
+ assert_throws_js(TypeError, () => table.set(0, fn));
assert_equal_to_array(table, [null]);
}, "Setting non-wasm arrow function");
@@ -191,13 +191,13 @@ for (const value of outOfRangeValues) {
test(() => {
const argument = { "element": "anyfunc", "initial": 1 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.get(value));
+ assert_throws_js(TypeError, () => table.get(value));
}, `Getting out-of-range argument: ${format_value(value)}`);
test(() => {
const argument = { "element": "anyfunc", "initial": 1 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.set(value, null));
+ assert_throws_js(TypeError, () => table.set(value, null));
}, `Setting out-of-range argument: ${format_value(value)}`);
}
@@ -211,7 +211,7 @@ test(() => {
return 0;
},
};
- assert_throws(new TypeError(), () => table.set(value, {}));
+ assert_throws_js(TypeError, () => table.set(value, {}));
assert_equals(called, 1);
}, "Order of argument conversion");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/grow-reftypes.tentative.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/grow-reftypes.tentative.any.js
index 807aea991bb..54141c059ed 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/grow-reftypes.tentative.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/grow-reftypes.tentative.any.js
@@ -32,11 +32,11 @@ test(() => {
test(() => {
const argument = { "element": "anyfunc", "initial": 1 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.grow(2, {}));
+ assert_throws_js(TypeError, () => table.grow(2, {}));
}, "Grow with non-function argument");
test(() => {
const argument = { "element": "anyfunc", "initial": 1 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.grow(2, () => true));
+ assert_throws_js(TypeError, () => table.grow(2, () => true));
}, "Grow with JS-function argument");
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/grow.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/grow.any.js
index 558b49d1c7d..f543cc620bc 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/grow.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/grow.any.js
@@ -8,7 +8,7 @@ function nulls(n) {
test(() => {
const argument = { "element": "anyfunc", "initial": 5 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.grow());
+ assert_throws_js(TypeError, () => table.grow());
}, "Missing arguments");
test(t => {
@@ -32,7 +32,7 @@ test(t => {
const fn = WebAssembly.Table.prototype.grow;
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => fn.call(thisValue, argument), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => fn.call(thisValue, argument), `this=${format_value(thisValue)}`);
}
}, "Branding");
@@ -61,7 +61,7 @@ test(() => {
const table = new WebAssembly.Table(argument);
assert_equal_to_array(table, nulls(2), "before");
- assert_throws(new RangeError(), () => table.grow(4));
+ assert_throws_js(RangeError, () => table.grow(4));
assert_equal_to_array(table, nulls(2), "after");
}, "Exceeded maximum");
@@ -81,7 +81,7 @@ for (const value of outOfRangeValues) {
test(() => {
const argument = { "element": "anyfunc", "initial": 1 };
const table = new WebAssembly.Table(argument);
- assert_throws(new TypeError(), () => table.grow(value));
+ assert_throws_js(TypeError, () => table.grow(value));
}, `Out-of-range argument: ${format_value(value)}`);
}
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/length.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/length.any.js
index b1bfa6cfd1f..f4e11484797 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/length.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/length.any.js
@@ -22,7 +22,7 @@ test(() => {
assert_equals(typeof desc.set, "undefined");
for (const thisValue of thisValues) {
- assert_throws(new TypeError(), () => getter.call(thisValue), `this=${format_value(thisValue)}`);
+ assert_throws_js(TypeError, () => getter.call(thisValue), `this=${format_value(thisValue)}`);
}
}, "Branding");
@@ -52,7 +52,7 @@ test(() => {
const argument = { "element": "anyfunc", "initial": 2 };
const table = new WebAssembly.Table(argument);
assert_equals(table.length, 2, "Initial length");
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
"use strict";
table.length = 4;
});
diff --git a/tests/wpt/web-platform-tests/wasm/serialization/arraybuffer/transfer.window.js b/tests/wpt/web-platform-tests/wasm/serialization/arraybuffer/transfer.window.js
index 3edfdaad958..b2b5697fca3 100644
--- a/tests/wpt/web-platform-tests/wasm/serialization/arraybuffer/transfer.window.js
+++ b/tests/wpt/web-platform-tests/wasm/serialization/arraybuffer/transfer.window.js
@@ -1,6 +1,6 @@
test(() => {
const buffer = new WebAssembly.Memory({initial: 4}).buffer;
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
postMessage('foo', '*', [buffer]);
});
});
diff --git a/tests/wpt/web-platform-tests/wasm/serialization/module/broadcastchannel-success.html b/tests/wpt/web-platform-tests/wasm/serialization/module/broadcastchannel-success.html
index cd5f8d0b56a..ddc242b82ef 100644
--- a/tests/wpt/web-platform-tests/wasm/serialization/module/broadcastchannel-success.html
+++ b/tests/wpt/web-platform-tests/wasm/serialization/module/broadcastchannel-success.html
@@ -30,7 +30,7 @@ promise_test(t => {
return;
}
- let {i, result} = msg;
+ let {i, result} = msg.data;
assert_in_array(i, [0, 1, 2], "Any message events must come from expected sources");
assert_equals(result, i + 1, `iframe ${i} must return ${i+1}`);
diff --git a/tests/wpt/web-platform-tests/wasm/serialization/module/no-transferring.html b/tests/wpt/web-platform-tests/wasm/serialization/module/no-transferring.html
index a0bf11f01dd..2f0f674b1fc 100644
--- a/tests/wpt/web-platform-tests/wasm/serialization/module/no-transferring.html
+++ b/tests/wpt/web-platform-tests/wasm/serialization/module/no-transferring.html
@@ -11,21 +11,21 @@
test(() => {
const module = createEmptyWasmModule();
- assert_throws("DataCloneError", () => window.postMessage(module, "*", [module]));
- assert_throws("DataCloneError", () => window.postMessage("test", "*", [module]));
+ assert_throws_dom("DataCloneError", () => window.postMessage(module, "*", [module]));
+ assert_throws_dom("DataCloneError", () => window.postMessage("test", "*", [module]));
}, "Trying to transfer a WebAssembly.Module to this window throws");
test(() => {
const module = createEmptyWasmModule();
const worker = new Worker("resources/echo-worker.js");
- assert_throws("DataCloneError", () => worker.postMessage(module, [module]));
- assert_throws("DataCloneError", () => worker.postMessage("test", [module]));
+ assert_throws_dom("DataCloneError", () => worker.postMessage(module, [module]));
+ assert_throws_dom("DataCloneError", () => worker.postMessage("test", [module]));
}, "Trying to transfer a WebAssembly.Module to a worker throws");
test(() => {
const module = createEmptyWasmModule();
const channel = new MessageChannel();
- assert_throws("DataCloneError", () => channel.port1.postMessage(module, [module]));
- assert_throws("DataCloneError", () => channel.port1.postMessage("test", [module]));
+ assert_throws_dom("DataCloneError", () => channel.port1.postMessage(module, [module]));
+ assert_throws_dom("DataCloneError", () => channel.port1.postMessage("test", [module]));
}, "Trying to transfer a WebAssembly.Module through a MessagePort throws");
</script>
diff --git a/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-history.html b/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-history.html
index 35dc17b6701..38d4301d70b 100644
--- a/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-history.html
+++ b/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-history.html
@@ -11,7 +11,7 @@
for (const method of ["pushState", "replaceState"]) {
test(() => {
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
history[method](createEmptyWasmModule(), "dummy title");
});
}, `history.${method}(): simple case`);
@@ -19,7 +19,7 @@ for (const method of ["pushState", "replaceState"]) {
test(() => {
let getter1Called = false;
let getter2Called = false;
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
history[method]([
{ get x() { getter1Called = true; return 5; } },
createEmptyWasmModule(),
diff --git a/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-idb.any.js b/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-idb.any.js
index 1d861c3d3aa..10c99c4d31c 100644
--- a/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-idb.any.js
+++ b/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-idb.any.js
@@ -13,7 +13,7 @@ async_test(t => {
const db = e.target.result;
const store = db.createObjectStore("store", { keyPath: "key" });
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
store.put({ key: 1, property: createEmptyWasmModule() });
});
t.done();
@@ -30,7 +30,7 @@ async_test(t => {
let getter1Called = false;
let getter2Called = false;
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
store.put({ key: 1, property: [
{ get x() { getter1Called = true; return 5; } },
createEmptyWasmModule(),
diff --git a/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.js b/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.js
index 84105651d3b..3672192df79 100644
--- a/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.js
+++ b/tests/wpt/web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any.js
@@ -6,7 +6,7 @@ function createEmptyWasmModule() {
}
test(() => {
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
new Notification("Bob: Hi", { data: createEmptyWasmModule() });
})
}, "WebAssembly.Module cloning via the Notifications API's data member: basic case");
@@ -15,7 +15,7 @@ test(() => {
let getter1Called = false;
let getter2Called = false;
- assert_throws("DataCloneError", () => {
+ assert_throws_dom("DataCloneError", () => {
new Notification("Bob: Hi", { data: [
{ get x() { getter1Called = true; return 5; } },
createEmptyWasmModule(),
diff --git a/tests/wpt/web-platform-tests/wasm/webapi/historical.any.js b/tests/wpt/web-platform-tests/wasm/webapi/historical.any.js
index 0fe1e1c891f..257112c4160 100644
--- a/tests/wpt/web-platform-tests/wasm/webapi/historical.any.js
+++ b/tests/wpt/web-platform-tests/wasm/webapi/historical.any.js
@@ -25,5 +25,5 @@ promise_test(async t => {
const mod = await WebAssembly.compileStreaming(fetch('../incrementer.wasm'));
const tx = db.transaction(obj_store, 'readwrite');
const store = tx.objectStore(obj_store);
- assert_throws("DataCloneError", () => store.put(mod, module_key));
+ assert_throws_dom("DataCloneError", () => store.put(mod, module_key));
});
diff --git a/tests/wpt/web-platform-tests/web-animations/README.md b/tests/wpt/web-platform-tests/web-animations/README.md
index 75493ce57b4..c41e0e048ef 100644
--- a/tests/wpt/web-platform-tests/web-animations/README.md
+++ b/tests/wpt/web-platform-tests/web-animations/README.md
@@ -59,7 +59,7 @@ Guidelines for writing tests
```javascript
test(t => {
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
createDiv(t).animate(null, -1);
});
}, 'Setting a negative duration throws a TypeError');
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/commitStyles.html b/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/commitStyles.html
index d3a95e053e3..40cb2634e41 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/commitStyles.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/commitStyles.html
@@ -276,7 +276,7 @@ test(t => {
{ duration: 1, fill: 'forwards', pseudoElement: '::before' }
);
- assert_throws('NoModificationAllowedError', () => {
+ assert_throws_dom('NoModificationAllowedError', () => {
animation.commitStyles();
});
}, 'Throws if the target element is a pseudo element');
@@ -292,7 +292,7 @@ test(t => {
document.body.appendChild(nonStyleElement);
animation.effect.target = nonStyleElement;
- assert_throws('NoModificationAllowedError', () => {
+ assert_throws_dom('NoModificationAllowedError', () => {
animation.commitStyles();
});
@@ -308,7 +308,7 @@ test(t => {
div.style.display = 'none';
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.commitStyles();
});
}, 'Throws if the target effect is display:none');
@@ -325,7 +325,7 @@ test(t => {
container.style.display = 'none';
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.commitStyles();
});
}, "Throws if the target effect's ancestor is display:none");
@@ -359,7 +359,7 @@ test(t => {
div.style.display = 'contents';
container.style.display = 'none';
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.commitStyles();
});
}, 'Treats display:contents in a display:none subtree as not rendered');
@@ -373,7 +373,7 @@ test(t => {
div.remove();
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.commitStyles();
});
}, 'Throws if the target effect is disconnected');
@@ -388,7 +388,7 @@ test(t => {
div.remove();
- assert_throws('NoModificationAllowedError', () => {
+ assert_throws_dom('NoModificationAllowedError', () => {
animation.commitStyles();
});
}, 'Checks the pseudo element condition before the not rendered condition');
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/pause.html b/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/pause.html
index 0649c2f617d..74d0724ef42 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/pause.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/pause.html
@@ -73,7 +73,7 @@ test(t => {
animation.cancel();
animation.playbackRate = -1;
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => { animation.pause(); },
'Expect InvalidStateError exception on calling pause() ' +
'from idle with a negative playbackRate and ' +
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/play.html b/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/play.html
index 3e8f923d544..d29b67b7992 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/play.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/Animation/play.html
@@ -21,7 +21,7 @@ promise_test(t => {
animation.currentTime = -5 * MS_PER_SEC;
animation.playbackRate = -1;
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => { animation.play(); },
'Expected InvalidStateError exception on calling play() ' +
'with a negative playbackRate and infinite-duration ' +
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/AnimationEffect/updateTiming.html b/tests/wpt/web-platform-tests/web-animations/interfaces/AnimationEffect/updateTiming.html
index f4f672ab1aa..6a340c0bf47 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/AnimationEffect/updateTiming.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/AnimationEffect/updateTiming.html
@@ -58,7 +58,7 @@ test(t => {
for (const invalid of gBadDelayValues) {
test(t => {
const anim = createDiv(t).animate(null);
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
anim.effect.updateTiming({ delay: invalid });
});
}, `Throws when setting invalid delay value: ${invalid}`);
@@ -88,14 +88,14 @@ test(t => {
test(t => {
const anim = createDiv(t).animate(null, 2000);
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
anim.effect.updateTiming({ endDelay: Infinity });
});
}, 'Throws when setting the endDelay to infinity');
test(t => {
const anim = createDiv(t).animate(null, 2000);
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
anim.effect.updateTiming({ endDelay: -Infinity });
});
}, 'Throws when setting the endDelay to negative infinity');
@@ -163,7 +163,7 @@ test(t => {
for (const invalid of gBadIterationStartValues) {
test(t => {
const anim = createDiv(t).animate(null);
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
anim.effect.updateTiming({ iterationStart: invalid });
}, `setting ${invalid}`);
}, `Throws when setting invalid iterationStart value: ${invalid}`);
@@ -193,7 +193,7 @@ test(t => {
for (const invalid of gBadIterationsValues) {
test(t => {
const anim = createDiv(t).animate(null);
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
anim.effect.updateTiming({ iterations: invalid });
});
}, `Throws when setting invalid iterations value: ${invalid}`);
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html
index 46a23b0c2e8..f9d552e63ec 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html
@@ -186,7 +186,7 @@ test(t => {
test(t => {
const test_error = { name: 'test' };
- assert_throws(test_error, () => {
+ assert_throws_exactly(test_error, () => {
new KeyframeEffect(target, { get left() { throw test_error }})
});
}, 'KeyframeEffect constructor propagates exceptions generated by accessing'
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html
index 5bd0ae2b1ed..87e60a2b108 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html
@@ -320,7 +320,7 @@ test(() => {
test(() => {
const test_error = { name: 'test' };
const bad_keyframe = { get left() { throw test_error; } };
- assert_throws(test_error, () => {
+ assert_throws_exactly(test_error, () => {
new KeyframeEffect(null, createIterable([
{ done: false, value: { left: '100px' } },
{ done: false, value: bad_keyframe },
@@ -332,7 +332,7 @@ test(() => {
+ ' propagated');
test(() => {
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
new KeyframeEffect(null, createIterable([
{ done: false, value: { left: '100px' } },
{ done: false, value: 1234 },
@@ -390,7 +390,7 @@ test(() => {
return { next() { throw test_error; } };
},
};
- assert_throws(test_error, () => {
+ assert_throws_exactly(test_error, () => {
new KeyframeEffect(null, keyframe_obj);
});
}, 'If a custom iterator throws from next(), the exception should be rethrown');
@@ -404,7 +404,7 @@ test(() => {
throw test_error;
},
};
- assert_throws(test_error, () => {
+ assert_throws_exactly(test_error, () => {
new KeyframeEffect(null, keyframe_obj);
});
}, 'Accessing a Symbol.iterator property that throws should rethrow');
@@ -415,7 +415,7 @@ test(() => {
return 42; // Not an object.
},
};
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
new KeyframeEffect(null, keyframe_obj);
});
}, 'A non-object returned from the Symbol.iterator property should cause a'
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html
index e78e13d69aa..4b0e15c9a2f 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html
@@ -66,7 +66,7 @@ test(() => {
addProp('width');
keyframe.easing = 'easy-peasy';
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
new KeyframeEffect(target, keyframe);
});
assert_equals(propAccessCount, 2,
@@ -92,7 +92,7 @@ test(() => {
addProp(kf2, 'height');
addProp(kf2, 'width');
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
new KeyframeEffect(target, [ kf1, kf2 ]);
});
assert_equals(propAccessCount, 4,
diff --git a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html
index 779bee184b8..b91eacfb689 100644
--- a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html
+++ b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html
@@ -17,7 +17,7 @@ test(t => {
const animation = div.animate(null, 100 * MS_PER_SEC);
animation.playbackRate = 0;
- assert_throws({name: 'InvalidStateError'}, () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.finish();
});
}, 'Finishing an animation with a zero playback rate throws');
@@ -28,7 +28,7 @@ test(t => {
{ duration : 100 * MS_PER_SEC,
iterations : Infinity });
- assert_throws({name: 'InvalidStateError'}, () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.finish();
});
}, 'Finishing an infinite animation throws');
@@ -249,7 +249,7 @@ promise_test(async t => {
animation.updatePlaybackRate(0);
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.finish();
});
}, 'An exception should be thrown if the effective playback rate is zero');
@@ -265,7 +265,7 @@ promise_test(async t => {
animation.updatePlaybackRate(1);
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
animation.finish();
});
}, 'An exception should be thrown when finishing if the effective playback rate'
diff --git a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html
index 75fd9876c04..8d869d72aaf 100644
--- a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html
+++ b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html
@@ -145,7 +145,7 @@ test(t => {
iterations: Infinity });
animation.currentTime = -200 * MS_PER_SEC;
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => { animation.reverse(); },
'reverse() should throw InvalidStateError ' +
'if the playbackRate > 0 and the currentTime < 0 ' +
@@ -230,7 +230,7 @@ test(t => {
const animation =
new Animation(new KeyframeEffect(div, null, 100 * MS_PER_SEC), null);
- assert_throws('InvalidStateError', () => { animation.reverse(); });
+ assert_throws_dom('InvalidStateError', () => { animation.reverse(); });
}, 'Reversing an animation without an active timeline throws an ' +
'InvalidStateError');
@@ -254,7 +254,7 @@ promise_test(async t => {
await animation.ready;
animation.updatePlaybackRate(2);
- assert_throws('InvalidStateError', () => { animation.reverse(); });
+ assert_throws_dom('InvalidStateError', () => { animation.reverse(); });
assert_equals(animation.playbackRate, 1);
await animation.ready;
diff --git a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-current-time-of-an-animation.html b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-current-time-of-an-animation.html
index 6687ad7612e..22f88adb8b4 100644
--- a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-current-time-of-an-animation.html
+++ b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-current-time-of-an-animation.html
@@ -26,7 +26,7 @@ promise_test(async t => {
await anim.ready;
assert_greater_than_equal(anim.currentTime, 0);
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
anim.currentTime = null;
});
}, 'Setting the current time of a playing animation to unresolved throws a'
@@ -38,7 +38,7 @@ promise_test(async t => {
anim.pause();
assert_greater_than_equal(anim.currentTime, 0);
- assert_throws({ name: 'TypeError' }, () => {
+ assert_throws_js(TypeError, () => {
anim.currentTime = null;
});
}, 'Setting the current time of a paused animation to unresolved throws a'
diff --git a/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html b/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html
index bf4697f8b17..66befaa30a7 100644
--- a/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html
+++ b/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html
@@ -82,7 +82,7 @@
assert_equals(record.encoding, null, 'encoding');
assert_equals(record.lang, null, 'lang');
assert_equals(record.data, null, 'data');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}, 'NDEFRecord constructor with empty record type');
@@ -96,7 +96,7 @@
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_text_data,
'data has the same content with the original dictionary');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}, 'NDEFRecord constructor with text record type and string data');
@@ -113,7 +113,7 @@
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_text_data,
'data has the same content with the original dictionary');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}, 'NDEFRecord constructor with text record type and arrayBuffer data');
@@ -130,14 +130,14 @@
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_text_data,
'data has the same content with the original dictionary');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}, 'NDEFRecord constructor with text record type and arrayBufferView data');
test(() => {
- assert_throws(new TypeError, () => new NDEFRecord(createTextRecord(
+ assert_throws_js(TypeError, () => new NDEFRecord(createTextRecord(
test_text_data, 'random-encoding')));
- assert_throws(new TypeError, () => new NDEFRecord(createTextRecord(
+ assert_throws_js(TypeError, () => new NDEFRecord(createTextRecord(
test_text_data, 'utf-16')));
// Only 'utf-8' is OK for a DOMString data source.
const record = new NDEFRecord(createTextRecord(test_text_data, 'utf-8', 'fr'));
@@ -148,7 +148,7 @@
assert_equals(decoder.decode(record.data), test_text_data,
'data has the same content with the original text');
- assert_throws(new TypeError, () => new NDEFRecord(createTextRecord(
+ assert_throws_js(TypeError, () => new NDEFRecord(createTextRecord(
encodeTextToArrayBuffer(test_text_data, 'utf-8'), 'random-encoding')));
// The encoding list valid for a BufferSource data source.
const encodings = ['utf-8', 'utf-16', 'utf-16be', 'utf-16le'];
@@ -190,7 +190,7 @@
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_url_data,
'data has the same content with the original dictionary');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}, 'NDEFRecord constructor with url record type');
@@ -202,7 +202,7 @@
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_url_data,
'data has the same content with the original dictionary');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}, 'NDEFRecord constructor with absolute-url record type');
@@ -221,7 +221,7 @@
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}
// Feed ArrayBufferView.
@@ -232,7 +232,7 @@
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}
}, 'NDEFRecord constructor with mime record type and stream data');
@@ -245,7 +245,7 @@
assert_object_equals(JSON.parse(new TextDecoder().decode(record.data)),
test_json_data,
'data has the same content with the original json');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}, 'NDEFRecord constructor with mime record type and json data');
@@ -263,7 +263,7 @@
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}
// Feed ArrayBufferView.
@@ -274,7 +274,7 @@
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
- assert_throws('NotSupportedError', () => record.toRecords(),
+ assert_throws_dom('NotSupportedError', () => record.toRecords(),
'Only smart-poster records and external type records could have embedded records.');
}
}, 'NDEFRecord constructor with unknown record type');
@@ -344,7 +344,7 @@
}, 'NDEFRecord constructor with record type string being treated as case sensitive');
test(() => {
- assert_throws(new TypeError, () => new NDEFRecord(createRecord(
+ assert_throws_js(TypeError, () => new NDEFRecord(createRecord(
'example.com:hellö', test_buffer_data)),
'The external type must be an ASCII string.');
diff --git a/tests/wpt/web-platform-tests/web-share/canShare-files.tentative.https.html b/tests/wpt/web-platform-tests/web-share/canShare-files.tentative.https.html
index 98863a4e211..2c2f2ff9699 100644
--- a/tests/wpt/web-platform-tests/web-share/canShare-files.tentative.https.html
+++ b/tests/wpt/web-platform-tests/web-share/canShare-files.tentative.https.html
@@ -13,7 +13,7 @@
const emptyFile = new File([''], 'empty');
test(() => {
- assert_throws(new TypeError(), () => { navigator.canShare({files: textFile}) });
+ assert_throws_js(TypeError, () => { navigator.canShare({files: textFile}) });
}, 'canShare with single file');
test(() => {
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html
index a8b5a7154e9..e8325388d1b 100644
--- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html
@@ -51,34 +51,34 @@
1024,
"Correct default value for frequencyBinCount"
);
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 0;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 1;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 8;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 100;
}); // non-power of two
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 2049;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 4097;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 8193;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 16385;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 32769;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.fftSize = 65536;
});
analyser.fftSize = 1024;
@@ -98,16 +98,16 @@
-30,
"Correct default value for maxDecibels"
);
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.minDecibels = -30;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.minDecibels = -29;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.maxDecibels = -100;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.maxDecibels = -101;
});
@@ -115,10 +115,10 @@
Math.abs(analyser.smoothingTimeConstant - 0.8) < 0.001,
"Correct default value for smoothingTimeConstant"
);
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.smoothingTimeConstant = -0.1;
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser.smoothingTimeConstant = 1.1;
});
analyser.smoothingTimeConstant = 0;
@@ -170,34 +170,34 @@
"Correct default value for smoothingTimeConstant"
);
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 0 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 1 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 8 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 100 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 2049 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 4097 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 8193 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 16385 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 32769 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { fftSize: 65536 });
});
analyser = new AnalyserNode(context, { fftSize: 1024 });
@@ -207,23 +207,23 @@
"Correct new value for frequencyBinCount"
);
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { minDecibels: -30 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { minDecibels: -29 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { maxDecibels: -100 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { maxDecibels: -101 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { smoothingTimeConstant: -0.1 });
});
- assert_throws("INDEX_SIZE_ERR", function() {
+ assert_throws_dom("INDEX_SIZE_ERR", function() {
analyser = new AnalyserNode(context, { smoothingTimeConstant: -1.1 });
});
analyser = new AnalyserNode(context, { smoothingTimeConstant: 0 });
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/test-constantsourcenode.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/test-constantsourcenode.html
index 1e0d7255c55..7cefde8f285 100644
--- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/test-constantsourcenode.html
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/test-constantsourcenode.html
@@ -22,16 +22,16 @@ test(function(t) {
var csn = ac.createConstantSource();
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
csn.stop(1);
}, "Start must be called before stop");
- assert_throws(new RangeError(), function() {
+ assert_throws_js(RangeError, function() {
csn.start(-1);
}, "When can not be negative");
csn.start(0);
- assert_throws(new RangeError(), function() {
+ assert_throws_js(RangeError, function() {
csn.stop(-1);
}, "When can not be negative");
}, "ConstantSourceNode stop and start");
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination.html
index cda5668a09b..1af0e0f010b 100644
--- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination.html
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-destinationnode-interface/destination.html
@@ -28,12 +28,12 @@
assert_greater_than_equal(ac.destination.maxChannelCount, 2,
"maxChannelCount should be >= 2");
- assert_throws("IndexSizeError", function() {
+ assert_throws_dom("IndexSizeError", function() {
ac.destination.channelCount = ac.destination.maxChannelCount + 1
}, `Setting the channelCount to something greater than
the maxChannelCount should throw IndexSizeError`);
- assert_throws("NotSupportedError", function() {
+ assert_throws_dom("NotSupportedError", function() {
ac.destination.channelCount = 0;
}, "Setting the channelCount to 0 should throw NotSupportedError");
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/test-iirfilternode.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/test-iirfilternode.html
index 61c11ffc508..001a2a61724 100644
--- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/test-iirfilternode.html
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/test-iirfilternode.html
@@ -9,7 +9,7 @@ test(function(t) {
function check_args(arg1, arg2, err, desc) {
test(function() {
- assert_throws(err, function() {
+ assert_throws_dom(err, function() {
ac.createIIRFilter(arg1, arg2)
})
}, desc)
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-ctor.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-ctor.html
index fea042ca530..a7114196569 100644
--- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-ctor.html
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiosourcenode-interface/mediastreamaudiosourcenode-ctor.html
@@ -17,7 +17,7 @@
const emptyStream = new MediaStream();
test(function() {
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
function() {
ac.createMediaStreamSource(emptyStream);
@@ -28,7 +28,7 @@
}, "MediaStreamAudioSourceNode created with factory method and MediaStream with no tracks");
test(function() {
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
function() {
new MediaStreamAudioSourceNode(ac, { mediaStream: emptyStream });
@@ -43,7 +43,7 @@
const videoOnlyStream = canvas.captureStream();
test(function() {
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
function() {
ac.createMediaStreamSource(videoOnlyStream);
@@ -54,7 +54,7 @@
}, `MediaStreamAudioSourceNode created with the factory method and MediaStream with only a video track`);
test(function() {
- assert_throws(
+ assert_throws_dom(
"InvalidStateError",
function() {
new MediaStreamAudioSourceNode(ac, {
diff --git a/tests/wpt/web-platform-tests/webauthn/META.yml b/tests/wpt/web-platform-tests/webauthn/META.yml
index e8ea8e05985..a52d978f0ea 100644
--- a/tests/wpt/web-platform-tests/webauthn/META.yml
+++ b/tests/wpt/web-platform-tests/webauthn/META.yml
@@ -2,3 +2,4 @@ spec: https://w3c.github.io/webauthn/
suggested_reviewers:
- apowers313
- jcjones
+ - nsatragno
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-attestation.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-attestation.https.html
index a56f4f03143..6bce3233a1c 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-attestation.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-attestation.https.html
@@ -12,11 +12,11 @@ standardSetup(function() {
"use strict";
// attestation bad values
- new CreateCredentialsTest("options.publicKey.attestation", {}).runTest("Bad attestation parameter: attestation is empty object", new TypeError());
- new CreateCredentialsTest("options.publicKey.attestation", []).runTest("Bad attestation parameter: attestation is empty array", new TypeError());
- new CreateCredentialsTest("options.publicKey.attestation", null).runTest("Bad attestation parameter: attestation is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.attestation", "noneofyourbusiness").runTest("Bad attestation parameter: attestation is \"noneofyourbusiness\"", new TypeError());
- new CreateCredentialsTest("options.publicKey.attestation", "").runTest("Bad attestation parameter: attestation is empty string", new TypeError());
+ new CreateCredentialsTest("options.publicKey.attestation", {}).runTest("Bad attestation parameter: attestation is empty object", TypeError);
+ new CreateCredentialsTest("options.publicKey.attestation", []).runTest("Bad attestation parameter: attestation is empty array", TypeError);
+ new CreateCredentialsTest("options.publicKey.attestation", null).runTest("Bad attestation parameter: attestation is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.attestation", "noneofyourbusiness").runTest("Bad attestation parameter: attestation is \"noneofyourbusiness\"", TypeError);
+ new CreateCredentialsTest("options.publicKey.attestation", "").runTest("Bad attestation parameter: attestation is empty string", TypeError);
});
/* JSHINT */
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html
index a9ea8753c6a..87bdb040055 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html
@@ -44,29 +44,29 @@ standardSetup(function() {
authnrSelBadUvNull.userVerification = null;
// authenticatorSelection bad values
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", []).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is empty array", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", null).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", "").runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is empty string", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", "none").runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is string", new TypeError());
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", []).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is empty array", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", null).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", "").runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is empty string", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", "none").runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection is string", TypeError);
// authenticatorSelection bad attachment values
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachEmptyStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty string", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachEmptyObj).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty object", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachNull).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is null", new TypeError());
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachEmptyStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty string", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachEmptyObj).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is empty object", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadAttachNull).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment is null", TypeError);
// XXX: assumes authnr is behaving like most U2F authnrs; really depends on the authnr or mock configuration
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelAttachPlatform).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection attachment platform", "NotAllowedError");
// authenticatorSelection bad requireResidentKey values
// XXX: assumes authnr is behaving like most U2F authnrs; really depends on the authnr or mock configuration
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelRkTrue).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection residentKey true", "NotAllowedError");
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelRkBadString).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection residentKey is string", new TypeError());
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelRkBadString).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection residentKey is string", TypeError);
// TODO: not sure if rk is "boolean" or "truthy"; add test cases if it should only accept boolean values
// authenticatorSelection bad userVerification values
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvEmptyStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty string", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvEmptyObj).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty object", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification bad value", new TypeError());
- new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvNull).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification null", new TypeError());
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvEmptyStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty string", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvEmptyObj).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification empty object", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvStr).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification bad value", TypeError);
+ new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelBadUvNull).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification null", TypeError);
// XXX: assumes this is a mock authenticator the properly reports that it is not doing userVerfication
new CreateCredentialsTest("options.publicKey.authenticatorSelection", authnrSelUvRequired).runTest("Bad AuthenticatorSelectionCriteria: authenticatorSelection userVerification required", "NotAllowedError");
});
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html
index 6c03295bc9c..554fc0ec43b 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html
@@ -13,11 +13,11 @@ standardSetup(function() {
"use strict";
// bad challenge values
- new CreateCredentialsTest({path: "options.publicKey.challenge", value: undefined}).runTest("Bad challenge: challenge missing", new TypeError());
- new CreateCredentialsTest("options.publicKey.challenge", "hi mom").runTest("Bad challenge: challenge is string", new TypeError());
- new CreateCredentialsTest("options.publicKey.challenge", null).runTest("Bad challenge: challenge is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.challenge", {}).runTest("Bad challenge: challenge is empty object", new TypeError());
- new CreateCredentialsTest("options.publicKey.challenge", new Array()).runTest("Bad challenge: challenge is empty Array", new TypeError());
+ new CreateCredentialsTest({path: "options.publicKey.challenge", value: undefined}).runTest("Bad challenge: challenge missing", TypeError);
+ new CreateCredentialsTest("options.publicKey.challenge", "hi mom").runTest("Bad challenge: challenge is string", TypeError);
+ new CreateCredentialsTest("options.publicKey.challenge", null).runTest("Bad challenge: challenge is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.challenge", {}).runTest("Bad challenge: challenge is empty object", TypeError);
+ new CreateCredentialsTest("options.publicKey.challenge", new Array()).runTest("Bad challenge: challenge is empty Array", TypeError);
});
/* JSHINT */
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-rp.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-rp.https.html
index 67598687cd2..890ba21a81b 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-rp.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-rp.https.html
@@ -13,13 +13,13 @@ standardSetup(function() {
"use strict";
// rp bad values
- new CreateCredentialsTest({path: "options.publicKey.rp", value: undefined}).runTest("Bad rp: rp missing", new TypeError());
+ new CreateCredentialsTest({path: "options.publicKey.rp", value: undefined}).runTest("Bad rp: rp missing", TypeError);
new CreateCredentialsTest({ path: "options.publicKey.rp", value: null }).runTest("Bad rp: rp null", "NotSupportedError");
- new CreateCredentialsTest("options.publicKey.rp", "hi mom").runTest("Bad rp: rp is string", new TypeError());
- new CreateCredentialsTest("options.publicKey.rp", {}).runTest("Bad rp: rp is empty object", new TypeError());
+ new CreateCredentialsTest("options.publicKey.rp", "hi mom").runTest("Bad rp: rp is string", TypeError);
+ new CreateCredentialsTest("options.publicKey.rp", {}).runTest("Bad rp: rp is empty object", TypeError);
// // rp.id
- new CreateCredentialsTest("options.publicKey.rp.id", {}).runTest("Bad rp: id is object", new TypeError());
+ new CreateCredentialsTest("options.publicKey.rp.id", {}).runTest("Bad rp: id is object", TypeError);
new CreateCredentialsTest("options.publicKey.rp.id", null).runTest("Bad rp: id is null", "SecurityError");
new CreateCredentialsTest("options.publicKey.rp.id", "").runTest("Bad rp: id is empty String", "SecurityError");
new CreateCredentialsTest("options.publicKey.rp.id", "invalid domain.com").runTest("Bad rp: id is invalid domain (has space)", "SecurityError");
@@ -27,15 +27,15 @@ standardSetup(function() {
new CreateCredentialsTest("options.publicKey.rp.id", "0invaliddomain.com").runTest("Bad rp: id is invalid domain (starts with number)", "SecurityError");
// // rp.name
- new CreateCredentialsTest({path: "options.publicKey.rp.name", value: undefined}).runTest("rp missing name", new TypeError());
- new CreateCredentialsTest("options.publicKey.rp.name", {}).runTest("Bad rp: name is object", new TypeError());
- new CreateCredentialsTest("options.publicKey.rp.name", null).runTest("Bad rp: name is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.rp.name", "").runTest("Bad rp: name is empty String", new TypeError());
+ new CreateCredentialsTest({path: "options.publicKey.rp.name", value: undefined}).runTest("rp missing name", TypeError);
+ new CreateCredentialsTest("options.publicKey.rp.name", {}).runTest("Bad rp: name is object", TypeError);
+ new CreateCredentialsTest("options.publicKey.rp.name", null).runTest("Bad rp: name is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.rp.name", "").runTest("Bad rp: name is empty String", TypeError);
// // rp.icon
- new CreateCredentialsTest("options.publicKey.rp.icon", {}).runTest("Bad rp: icon is object", new TypeError());
- new CreateCredentialsTest("options.publicKey.rp.icon", null).runTest("Bad rp: icon is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.rp.icon", "").runTest("Bad rp: icon is empty String", new TypeError());
+ new CreateCredentialsTest("options.publicKey.rp.icon", {}).runTest("Bad rp: icon is object", TypeError);
+ new CreateCredentialsTest("options.publicKey.rp.icon", null).runTest("Bad rp: icon is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.rp.icon", "").runTest("Bad rp: icon is empty String", TypeError);
new CreateCredentialsTest("options.publicKey.rp.icon", "http://fidoalliance.co.nz/testimages/catimage.png")
.runTest("Bad rp: icon is insecure", "SecurityError");
// // TODO: unicode tests for icon URL (see also: USVString)
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-user.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-user.https.html
index f03f233215a..070a5c77dea 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-user.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-badargs-user.https.html
@@ -13,46 +13,31 @@ standardSetup(function() {
"use strict";
// user bad values
- new CreateCredentialsTest({path: "options.publicKey.user", value: undefined}).runTest("Bad user: user missing", new TypeError());
- new CreateCredentialsTest("options.publicKey.user", "hi mom").runTest("Bad user: user is string", new TypeError());
- new CreateCredentialsTest("options.publicKey.user", {}).runTest("Bad user: user is empty object", new TypeError());
+ new CreateCredentialsTest({path: "options.publicKey.user", value: undefined}).runTest("Bad user: user missing", TypeError);
+ new CreateCredentialsTest("options.publicKey.user", "hi mom").runTest("Bad user: user is string", TypeError);
+ new CreateCredentialsTest("options.publicKey.user", {}).runTest("Bad user: user is empty object", TypeError);
// // user.id
- new CreateCredentialsTest({path: "options.publicKey.user.id", value: undefined}).runTest("Bad user: id is undefined", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", {}).runTest("Bad user: id is object", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", null).runTest("Bad user: id is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", "").runTest("Bad user: id is empty String", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", new Array()).runTest("Bad user: id is empty Array", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", new ArrayBuffer(0)).runTest("Bad user: id is empty ArrayBuffer", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", new ArrayBuffer(65)).runTest("Bad user: ArrayBuffer id is too long (65 bytes)", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", new Int16Array(33)).runTest("Bad user: Int16Array id is too long (66 bytes)", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", new Int32Array(17)).runTest("Bad user: Int32Array id is too long (68 bytes)", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", new Float32Array(17)).runTest("Bad user: Float32Array id is too long (68 bytes)", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.id", new Float64Array(9)).runTest("Bad user: Float64Array id is too long (72 bytes)", new TypeError());
+ new CreateCredentialsTest({path: "options.publicKey.user.id", value: undefined}).runTest("Bad user: id is undefined", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", {}).runTest("Bad user: id is object", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", null).runTest("Bad user: id is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", "").runTest("Bad user: id is empty String", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", new Array()).runTest("Bad user: id is empty Array", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", new ArrayBuffer(65)).runTest("Bad user: ArrayBuffer id is too long (65 bytes)", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", new Int16Array(33)).runTest("Bad user: Int16Array id is too long (66 bytes)", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", new Int32Array(17)).runTest("Bad user: Int32Array id is too long (68 bytes)", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", new Float32Array(17)).runTest("Bad user: Float32Array id is too long (68 bytes)", TypeError);
+ new CreateCredentialsTest("options.publicKey.user.id", new Float64Array(9)).runTest("Bad user: Float64Array id is too long (72 bytes)", TypeError);
var buf = new ArrayBuffer(65);
- new CreateCredentialsTest("options.publicKey.user.id", new DataView(buf)).runTest("Bad user: id is too long (65 bytes)", new TypeError());
+ new CreateCredentialsTest("options.publicKey.user.id", new DataView(buf)).runTest("Bad user: id is too long (65 bytes)", TypeError);
// // user.name
- new CreateCredentialsTest({path: "options.publicKey.user.name", value: undefined}).runTest("user missing name", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.name", {}).runTest("Bad user: name is object", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.name", null).runTest("Bad user: name is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.name", "").runTest("Bad user: name is empty String", new TypeError());
-
- // // user.icon
- new CreateCredentialsTest("options.publicKey.user.icon", {}).runTest("Bad user: icon is object", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.icon", null).runTest("Bad user: icon is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.icon", "").runTest("Bad user: icon is empty String", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.icon", "http://fidoalliance.co.nz/testimages/catimage.png")
- .runTest("Bad user: icon is insecure", "SecurityError");
- // // TODO: unicode tests for icon URL (see also: USVString)
+ new CreateCredentialsTest({path: "options.publicKey.user.name", value: undefined}).runTest("user missing name", TypeError);
// // user.displayName
- new CreateCredentialsTest({path: "options.publicKey.user.displayName", value: undefined}).runTest("Bad user: displayName is undefined", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.displayName", {}).runTest("Bad user: displayName is object", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.displayName", null).runTest("Bad user: displayName is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.user.displayName", "").runTest("Bad user: displayName is empty String", new TypeError());
+ new CreateCredentialsTest({path: "options.publicKey.user.displayName", value: undefined}).runTest("Bad user: displayName is undefined", TypeError);
});
/* JSHINT */
/* globals standardSetup, CreateCredentialsTest */
-</script> \ No newline at end of file
+</script>
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-excludecredentials.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-excludecredentials.https.html
index a5294c743ad..de72afc1f58 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-excludecredentials.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-excludecredentials.https.html
@@ -13,8 +13,8 @@ standardSetup(function() {
"use strict";
// bad excludeCredentials values
- new CreateCredentialsTest("options.publicKey.excludeCredentials", "hi mom").runTest("Bad excludeCredentials: string", new TypeError());
- new CreateCredentialsTest("options.publicKey.excludeCredentials", {}).runTest("Bad excludeCredentials: empty object", new TypeError());
+ new CreateCredentialsTest("options.publicKey.excludeCredentials", "hi mom").runTest("Bad excludeCredentials: string", TypeError);
+ new CreateCredentialsTest("options.publicKey.excludeCredentials", {}).runTest("Bad excludeCredentials: empty object", TypeError);
// TODO: bad excludeCredentials with [{.type}] or [{.id}] or [{.transports}] wrong
// good excludeCredentials values
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-extensions.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-extensions.https.html
index 01afb3344a5..f4a05c3042f 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-extensions.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-extensions.https.html
@@ -18,16 +18,16 @@ standardSetup(function() {
};
// bad extension values
- new CreateCredentialsTest("options.publicKey.extensions", "hi mom").runTest("Bad extensions: extensions is string", new TypeError());
- new CreateCredentialsTest("options.publicKey.extensions", null).runTest("Bad extensions: extensions is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.extensions", []).runTest("Bad extensions: extensions is empty Array", new TypeError());
- new CreateCredentialsTest("options.publicKey.extensions", new ArrayBuffer(0)).runTest("Bad extensions: extensions is empty ArrayBuffer", new TypeError());
+ new CreateCredentialsTest("options.publicKey.extensions", "hi mom").runTest("Bad extensions: extensions is string", TypeError);
+ new CreateCredentialsTest("options.publicKey.extensions", null).runTest("Bad extensions: extensions is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.extensions", []).runTest("Bad extensions: extensions is empty Array", TypeError);
+ new CreateCredentialsTest("options.publicKey.extensions", new ArrayBuffer(0)).runTest("Bad extensions: extensions is empty ArrayBuffer", TypeError);
var badJson = '{"foo": true, "bar: "yup"}'; // missing quote after "bar"
- new CreateCredentialsTest("options.publicKey.extensions", {foo: badJson}).runTest("Bad extensions: malformatted JSON", new TypeError());
- new CreateCredentialsTest("options.publicKey.extensions", {foo: dummyExtension}).runTest("Bad extensions: JavaScript object", new TypeError());
+ new CreateCredentialsTest("options.publicKey.extensions", {foo: badJson}).runTest("Bad extensions: malformatted JSON", TypeError);
+ new CreateCredentialsTest("options.publicKey.extensions", {foo: dummyExtension}).runTest("Bad extensions: JavaScript object", TypeError);
var badExtId = {};
badExtId[createRandomString(65)] = dummyExtension;
- new CreateCredentialsTest("options.publicKey.extensions", {badExtId: dummyExtension}).runTest("Bad extensions: extension ID too long", new TypeError());
+ new CreateCredentialsTest("options.publicKey.extensions", {badExtId: dummyExtension}).runTest("Bad extensions: extension ID too long", TypeError);
// phony extensions
// TODO: not sure if this should pass or fail
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html
index 50166bbf141..34622fdf74e 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html
@@ -31,13 +31,13 @@ standardSetup(function() {
badAlgZero.alg = 0;
// bad pubKeyCredParams values
- new CreateCredentialsTest({path: "options.publicKey.pubKeyCredParams", value: undefined}).runTest("Bad pubKeyCredParams: pubKeyCredParams is undefined", new TypeError());
- new CreateCredentialsTest("options.publicKey.pubKeyCredParams", "hi mom").runTest("Bad pubKeyCredParams: pubKeyCredParams is string", new TypeError());
- new CreateCredentialsTest("options.publicKey.pubKeyCredParams", null).runTest("Bad pubKeyCredParams: pubKeyCredParams is null", new TypeError());
- new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badType]).runTest("Bad pubKeyCredParams: first param has bad type (\"something-else\")", new TypeError());
- new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeEmptyString]).runTest("Bad pubKeyCredParams: first param has bad type (\"\")", new TypeError());
- new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeNull]).runTest("Bad pubKeyCredParams: first param has bad type (null)", new TypeError());
- new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeEmptyObj]).runTest("Bad pubKeyCredParams: first param has bad type (empty object)", new TypeError());
+ new CreateCredentialsTest({path: "options.publicKey.pubKeyCredParams", value: undefined}).runTest("Bad pubKeyCredParams: pubKeyCredParams is undefined", TypeError);
+ new CreateCredentialsTest("options.publicKey.pubKeyCredParams", "hi mom").runTest("Bad pubKeyCredParams: pubKeyCredParams is string", TypeError);
+ new CreateCredentialsTest("options.publicKey.pubKeyCredParams", null).runTest("Bad pubKeyCredParams: pubKeyCredParams is null", TypeError);
+ new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badType]).runTest("Bad pubKeyCredParams: first param has bad type (\"something-else\")", TypeError);
+ new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeEmptyString]).runTest("Bad pubKeyCredParams: first param has bad type (\"\")", TypeError);
+ new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeNull]).runTest("Bad pubKeyCredParams: first param has bad type (null)", TypeError);
+ new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeEmptyObj]).runTest("Bad pubKeyCredParams: first param has bad type (empty object)", TypeError);
new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badAlg]).runTest("Bad pubKeyCredParams: first param has bad alg (42)", "NotSupportedError");
new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badAlgZero]).runTest("Bad pubKeyCredParams: first param has bad alg (0)", "NotSupportedError");
diff --git a/tests/wpt/web-platform-tests/webauthn/createcredential-timeout.https.html b/tests/wpt/web-platform-tests/webauthn/createcredential-timeout.https.html
index b94ae582d3e..d4aa459240b 100644
--- a/tests/wpt/web-platform-tests/webauthn/createcredential-timeout.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/createcredential-timeout.https.html
@@ -13,8 +13,8 @@ standardSetup(function() {
// bad timeout values
// TODO: there is some debate as to whether MAX_UNSIGNED_LONG + 1 and / or -1 should be disallowed since they get converted to valid values internally
- // new CreateCredentialsTest({path: "options.publicKey.timeout", value: -1}).runTest("Bad timeout: negative", new TypeError());
- // new CreateCredentialsTest({path: "options.publicKey.timeout", value: 4294967295 + 1}).runTest("Bad timeout: too big", new TypeError());
+ // new CreateCredentialsTest({path: "options.publicKey.timeout", value: -1}).runTest("Bad timeout: negative", TypeError);
+ // new CreateCredentialsTest({path: "options.publicKey.timeout", value: 4294967295 + 1}).runTest("Bad timeout: too big", TypeError);
// timeout test
// XXX: this probably always passes with most mock authenticators unless
diff --git a/tests/wpt/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html b/tests/wpt/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html
index 60f2e28b6ff..5bc579bc333 100644
--- a/tests/wpt/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html
@@ -17,16 +17,16 @@ standardSetup(function() {
// authenticatorSelection bad userVerification values
new GetCredentialsTest("options.publicKey.userVerification", "")
.addCredential(credPromise)
- .runTest("Bad userVerification: empty string", new TypeError());
+ .runTest("Bad userVerification: empty string", TypeError);
new GetCredentialsTest("options.publicKey.userVerification", {})
.addCredential(credPromise)
- .runTest("Bad userVerification: empty object", new TypeError());
+ .runTest("Bad userVerification: empty object", TypeError);
new GetCredentialsTest("options.publicKey.userVerification", "requiredshirtshoestshirt")
.addCredential(credPromise)
- .runTest("Bad userVerification: bad value", new TypeError());
+ .runTest("Bad userVerification: bad value", TypeError);
new GetCredentialsTest("options.publicKey.userVerification", null)
.addCredential(credPromise)
- .runTest("Bad userVerification: null", new TypeError());
+ .runTest("Bad userVerification: null", TypeError);
// XXX: assumes this is a mock authenticator the properly reports that it is not doing userVerfication
new GetCredentialsTest("options.publicKey.userVerification", "required")
.addCredential(credPromise)
diff --git a/tests/wpt/web-platform-tests/webauthn/getcredential-extensions.https.html b/tests/wpt/web-platform-tests/webauthn/getcredential-extensions.https.html
index bc7a80d40ee..763f48b70f3 100644
--- a/tests/wpt/web-platform-tests/webauthn/getcredential-extensions.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/getcredential-extensions.https.html
@@ -21,28 +21,28 @@ standardSetup(function() {
// bad extension values
new GetCredentialsTest("options.publicKey.extensions", "hi mom")
.addCredential(credPromise)
- .runTest("Bad extensions: extensions is string", new TypeError());
+ .runTest("Bad extensions: extensions is string", TypeError);
new GetCredentialsTest("options.publicKey.extensions", null)
.addCredential(credPromise)
- .runTest("Bad extensions: extensions is null", new TypeError());
+ .runTest("Bad extensions: extensions is null", TypeError);
new GetCredentialsTest("options.publicKey.extensions", [])
.addCredential(credPromise)
- .runTest("Bad extensions: extensions is empty Array", new TypeError());
+ .runTest("Bad extensions: extensions is empty Array", TypeError);
new GetCredentialsTest("options.publicKey.extensions", new ArrayBuffer(0))
.addCredential(credPromise)
- .runTest("Bad extensions: extensions is empty ArrayBuffer", new TypeError());
+ .runTest("Bad extensions: extensions is empty ArrayBuffer", TypeError);
var badJson = '{"foo": true, "bar: "yup"}'; // missing quote after "bar"
new GetCredentialsTest("options.publicKey.extensions", {foo: badJson})
.addCredential(credPromise)
- .runTest("Bad extensions: malformatted JSON", new TypeError());
+ .runTest("Bad extensions: malformatted JSON", TypeError);
new GetCredentialsTest("options.publicKey.extensions", {foo: dummyExtension})
.addCredential(credPromise)
- .runTest("Bad extensions: JavaScript object", new TypeError());
+ .runTest("Bad extensions: JavaScript object", TypeError);
var badExtId = {};
badExtId[createRandomString(65)] = dummyExtension;
new GetCredentialsTest("options.publicKey.extensions", {badExtId: dummyExtension})
.addCredential(credPromise)
- .runTest("Bad extensions: extension ID too long", new TypeError());
+ .runTest("Bad extensions: extension ID too long", TypeError);
// phony extensions
// TODO: not sure if this should pass or fail
diff --git a/tests/wpt/web-platform-tests/webauthn/getcredential-timeout.https.html b/tests/wpt/web-platform-tests/webauthn/getcredential-timeout.https.html
index 84dbad8c0bb..e6cd884ae06 100644
--- a/tests/wpt/web-platform-tests/webauthn/getcredential-timeout.https.html
+++ b/tests/wpt/web-platform-tests/webauthn/getcredential-timeout.https.html
@@ -18,10 +18,10 @@ standardSetup(function() {
// TODO: there is some debate as to whether MAX_UNSIGNED_LONG + 1 and / or -1 should be disallowed since they get converted to valid values internally
// new GetCredentialsTest({path: "options.publicKey.timeout", value: -1})
// .addCredential(credPromise)
- // .runTest("Bad timeout: negative", new TypeError());
+ // .runTest("Bad timeout: negative", TypeError);
// new GetCredentialsTest({path: "options.publicKey.timeout", value: 4294967295 + 1})
// .addCredential(credPromise)
- // .runTest("Bad timeout: too big", new TypeError());
+ // .runTest("Bad timeout: too big", TypeError);
// timeout test
// XXX: this probably always passes with most mock authenticators unless
diff --git a/tests/wpt/web-platform-tests/webauthn/helpers.js b/tests/wpt/web-platform-tests/webauthn/helpers.js
index 73474b5ecbf..bbbba464948 100644
--- a/tests/wpt/web-platform-tests/webauthn/helpers.js
+++ b/tests/wpt/web-platform-tests/webauthn/helpers.js
@@ -244,7 +244,11 @@ class TestCase {
* expects the test to fail
*/
testFails(t, testDesc, expectedErr) {
- return promise_rejects(t, expectedErr, this.doIt(), "Expected bad parameters to fail");
+ if (typeof expectedErr == "string") {
+ return promise_rejects_dom(t, expectedErr, this.doIt(), "Expected bad parameters to fail");
+ }
+
+ return promise_rejects_js(t, expectedErr, this.doIt(), "Expected bad parameters to fail");
}
/**
@@ -589,5 +593,5 @@ function standardSetup(cb) {
//************* END DELETE AFTER 1/1/2018 *************** //
/* JSHINT */
-/* globals promise_rejects, assert_class_string, assert_equals, assert_idl_attribute, assert_readonly, promise_test */
+/* globals promise_rejects_dom, promise_rejects_js, assert_class_string, assert_equals, assert_idl_attribute, assert_readonly, promise_test */
/* exported standardSetup, CreateCredentialsTest, GetCredentialsTest */
diff --git a/tests/wpt/web-platform-tests/webgl/compressedTexImage2D.html b/tests/wpt/web-platform-tests/webgl/compressedTexImage2D.html
index b0a031add0b..a974c650024 100644
--- a/tests/wpt/web-platform-tests/webgl/compressedTexImage2D.html
+++ b/tests/wpt/web-platform-tests/webgl/compressedTexImage2D.html
@@ -22,7 +22,7 @@ test(function() {
gl.compressedTexImage2D(gl.TEXTURE_2D, 0, COMPRESSED_RGB_S3TC_DXT1_EXT, 4, 4, 0, new Uint8Array(8), null);
});
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
gl.compressedTexImage2D(gl.TEXTURE_2D, 0, COMPRESSED_RGB_S3TC_DXT1_EXT, 4, 4, 0);
});
}, "Should throw a TypeError when passing too few arguments.");
diff --git a/tests/wpt/web-platform-tests/webgl/compressedTexSubImage2D.html b/tests/wpt/web-platform-tests/webgl/compressedTexSubImage2D.html
index 539f9e17f8a..20c5ff9bd38 100644
--- a/tests/wpt/web-platform-tests/webgl/compressedTexSubImage2D.html
+++ b/tests/wpt/web-platform-tests/webgl/compressedTexSubImage2D.html
@@ -22,7 +22,7 @@ test(function() {
gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 10, 10, COMPRESSED_RGB_S3TC_DXT1_EXT, new Uint8Array(8), null);
});
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 10, 10, COMPRESSED_RGB_S3TC_DXT1_EXT);
});
}, "Should throw a TypeError when passing too few arguments.");
diff --git a/tests/wpt/web-platform-tests/webgl/texImage2D.html b/tests/wpt/web-platform-tests/webgl/texImage2D.html
index 2f769160dfd..86b84d1a999 100644
--- a/tests/wpt/web-platform-tests/webgl/texImage2D.html
+++ b/tests/wpt/web-platform-tests/webgl/texImage2D.html
@@ -10,10 +10,10 @@
<script>
test(function() {
var gl = getGl();
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
gl.texImage2D(0, 0, 0, 0, 0, window);
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
gl.texImage2D(0, 0, 0, 0, 0, { get width() { throw 7 }, get height() { throw 7 }, data: new Uint8ClampedArray(10) });
});
});
diff --git a/tests/wpt/web-platform-tests/webgl/texSubImage2D.html b/tests/wpt/web-platform-tests/webgl/texSubImage2D.html
index 294b30c7607..7a6c2091822 100644
--- a/tests/wpt/web-platform-tests/webgl/texSubImage2D.html
+++ b/tests/wpt/web-platform-tests/webgl/texSubImage2D.html
@@ -10,10 +10,10 @@
<script>
test(function() {
var gl = getGl();
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
gl.texSubImage2D(0, 0, 0, 0, 0, 0, window);
});
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
gl.texSubImage2D(0, 0, 0, 0, 0, 0, { get width() { throw 7 }, get height() { throw 7 }, data: new Uint8ClampedArray(10) });
});
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_DataCloneErr.htm b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_DataCloneErr.htm
index 9f4cd6b9be7..d2885d2947f 100644
--- a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_DataCloneErr.htm
+++ b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_DataCloneErr.htm
@@ -16,7 +16,7 @@
var channel = new MessageChannel();
channel.port1.start();
- assert_throws("DATA_CLONE_ERR", function()
+ assert_throws_dom("DATA_CLONE_ERR", function()
{
channel.port1.postMessage(navigator);
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_clone_port_error.htm b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_clone_port_error.htm
index c33feaa5f09..bdc77e3b99d 100644
--- a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_clone_port_error.htm
+++ b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_clone_port_error.htm
@@ -16,7 +16,7 @@
var channel = new MessageChannel();
channel.port1.start();
- assert_throws("DATA_CLONE_ERR", function()
+ assert_throws_dom("DATA_CLONE_ERR", function()
{
channel.port1.postMessage("ports", [channel.port1]);
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_ports_readonly_array.htm b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_ports_readonly_array.htm
index 4ccf3ac4f35..74027130377 100644
--- a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_ports_readonly_array.htm
+++ b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_ports_readonly_array.htm
@@ -28,7 +28,7 @@
function TestMessageEvent(evt)
{
var channel3 = new MessageChannel();
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
evt.ports.push(channel3.port1);
}, "ports is a frozen object");
assert_equals(evt.ports.length, 1, "ports is a read only array with length == 1.");
diff --git a/tests/wpt/web-platform-tests/webmessaging/MessageEvent.html b/tests/wpt/web-platform-tests/webmessaging/MessageEvent.html
index 4fb68b5999b..401d941e1d6 100644
--- a/tests/wpt/web-platform-tests/webmessaging/MessageEvent.html
+++ b/tests/wpt/web-platform-tests/webmessaging/MessageEvent.html
@@ -21,7 +21,7 @@ prefixes.forEach(function(prefix) {
test(function() {
var event = new MessageEvent("message");
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
event.initMessageEvent();
}, "Not enough arguments to initMessageEvent");
}, "initMessageEvent with no arguments");
diff --git a/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/interface.html b/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/interface.html
index a552563ed66..1733d2d17fa 100644
--- a/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/interface.html
+++ b/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/interface.html
@@ -4,7 +4,7 @@
<script src="/resources/testharnessreport.js"></script>
<script>
-test(() => assert_throws(new TypeError(), () => new BroadcastChannel()),
+test(() => assert_throws_js(TypeError, () => new BroadcastChannel()),
'Should throw if no name is provided');
test(() => {
@@ -29,7 +29,7 @@ test(() => {
test(() => {
let c = new BroadcastChannel('');
- assert_throws(new TypeError(), () => c.postMessage());
+ assert_throws_js(TypeError, () => c.postMessage());
}, 'postMessage without parameters should throw');
test(() => {
@@ -51,7 +51,7 @@ test(() => {
test(() => {
let c = new BroadcastChannel('');
c.close();
- assert_throws('InvalidStateError', () => c.postMessage(''));
+ assert_throws_dom('InvalidStateError', () => c.postMessage(''));
}, 'postMessage after close should throw');
test(() => {
@@ -61,13 +61,13 @@ test(() => {
test(() => {
let c = new BroadcastChannel('');
- assert_throws('DataCloneError', () => c.postMessage(Symbol()));
+ assert_throws_dom('DataCloneError', () => c.postMessage(Symbol()));
}, 'postMessage should throw with uncloneable data');
test(() => {
let c = new BroadcastChannel('');
c.close();
- assert_throws('InvalidStateError', () => c.postMessage(Symbol()));
+ assert_throws_dom('InvalidStateError', () => c.postMessage(Symbol()));
}, 'postMessage should throw InvalidStateError after close, even with uncloneable data');
</script>
diff --git a/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html b/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html
index d975ea72832..75b5f229d6d 100644
--- a/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html
+++ b/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html
@@ -62,7 +62,7 @@ async_test(t => {
test(() => {
const c = new MessageChannel();
c.port1.close();
- assert_throws("DataCloneError", () => self.postMessage(null, "*", [c.port1]));
+ assert_throws_dom("DataCloneError", () => self.postMessage(null, "*", [c.port1]));
self.postMessage(null, "*", [c.port2]);
}, "close() detaches a MessagePort (but not the one its entangled with)");
</script>
diff --git a/tests/wpt/web-platform-tests/webmessaging/postMessage_Document.htm b/tests/wpt/web-platform-tests/webmessaging/postMessage_Document.htm
index 97765fae818..a5580ef4b2b 100644
--- a/tests/wpt/web-platform-tests/webmessaging/postMessage_Document.htm
+++ b/tests/wpt/web-platform-tests/webmessaging/postMessage_Document.htm
@@ -25,7 +25,7 @@
{
test(function()
{
- assert_throws("DATA_CLONE_ERR", function()
+ assert_throws_dom("DATA_CLONE_ERR", function()
{
TARGET.contentWindow.postMessage(DATA, "*");
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/postMessage_Function.htm b/tests/wpt/web-platform-tests/webmessaging/postMessage_Function.htm
index c53e8fcc3cd..fd31f83df4b 100644
--- a/tests/wpt/web-platform-tests/webmessaging/postMessage_Function.htm
+++ b/tests/wpt/web-platform-tests/webmessaging/postMessage_Function.htm
@@ -25,7 +25,7 @@
{
test(function()
{
- assert_throws("DATA_CLONE_ERR", function()
+ assert_throws_dom("DATA_CLONE_ERR", function()
{
TARGET.contentWindow.postMessage(DATA, "*");
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/postMessage_dup_transfer_objects.htm b/tests/wpt/web-platform-tests/webmessaging/postMessage_dup_transfer_objects.htm
index a28c9640067..511b51271f3 100644
--- a/tests/wpt/web-platform-tests/webmessaging/postMessage_dup_transfer_objects.htm
+++ b/tests/wpt/web-platform-tests/webmessaging/postMessage_dup_transfer_objects.htm
@@ -25,7 +25,7 @@
{
test(function()
{
- assert_throws("DATA_CLONE_ERR", function()
+ assert_throws_dom("DATA_CLONE_ERR", function()
{
assert_own_property(window, "MessageChannel", "window");
var channel = new MessageChannel();
diff --git a/tests/wpt/web-platform-tests/webmessaging/postMessage_invalid_targetOrigin.htm b/tests/wpt/web-platform-tests/webmessaging/postMessage_invalid_targetOrigin.htm
index d6e16460f19..b9cc6377ef8 100644
--- a/tests/wpt/web-platform-tests/webmessaging/postMessage_invalid_targetOrigin.htm
+++ b/tests/wpt/web-platform-tests/webmessaging/postMessage_invalid_targetOrigin.htm
@@ -27,7 +27,7 @@
{
test(function()
{
- assert_throws("SYNTAX_ERR", function()
+ assert_throws_dom("SYNTAX_ERR", function()
{
TARGET.contentWindow.postMessage(DATA, DATA);
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/with-options/broken-origin.html b/tests/wpt/web-platform-tests/webmessaging/with-options/broken-origin.html
index d6901a15a34..795404b0ecf 100644
--- a/tests/wpt/web-platform-tests/webmessaging/with-options/broken-origin.html
+++ b/tests/wpt/web-platform-tests/webmessaging/with-options/broken-origin.html
@@ -5,7 +5,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws('SYNTAX_ERR', function() {
+ assert_throws_dom('SYNTAX_ERR', function() {
postMessage('', {targetOrigin: 'http://foo bar'});
}, 'should have failed to resolve');
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/with-ports/001.html b/tests/wpt/web-platform-tests/webmessaging/with-ports/001.html
index e3687f16226..62dcf5e9bfb 100644
--- a/tests/wpt/web-platform-tests/webmessaging/with-ports/001.html
+++ b/tests/wpt/web-platform-tests/webmessaging/with-ports/001.html
@@ -5,7 +5,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws('SYNTAX_ERR', function() {
+ assert_throws_dom('SYNTAX_ERR', function() {
postMessage('', 'http://foo bar', []);
}, 'should have failed to resolve');
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/with-ports/003.html b/tests/wpt/web-platform-tests/webmessaging/with-ports/003.html
index 3c0d4296b07..47ddfbe81a5 100644
--- a/tests/wpt/web-platform-tests/webmessaging/with-ports/003.html
+++ b/tests/wpt/web-platform-tests/webmessaging/with-ports/003.html
@@ -5,7 +5,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws('SYNTAX_ERR', function() {
+ assert_throws_dom('SYNTAX_ERR', function() {
postMessage('', 'example.org', []);
}, 'targetOrigin is not an absolute url');
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/with-ports/025.html b/tests/wpt/web-platform-tests/webmessaging/with-ports/025.html
index 9a0e5cf6ffb..7af2a852ed6 100644
--- a/tests/wpt/web-platform-tests/webmessaging/with-ports/025.html
+++ b/tests/wpt/web-platform-tests/webmessaging/with-ports/025.html
@@ -5,7 +5,7 @@
<div id=log></div>
<script>
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
postMessage('', '*', 1);
});
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/with-ports/026.html b/tests/wpt/web-platform-tests/webmessaging/with-ports/026.html
index cf5c5e18ae5..2af90e6be3a 100644
--- a/tests/wpt/web-platform-tests/webmessaging/with-ports/026.html
+++ b/tests/wpt/web-platform-tests/webmessaging/with-ports/026.html
@@ -5,7 +5,7 @@
<div id=log></div>
<script>
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
postMessage('', '*', {length:1});
});
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/with-ports/027.html b/tests/wpt/web-platform-tests/webmessaging/with-ports/027.html
index e5f8c9c14ab..78ea225eb75 100644
--- a/tests/wpt/web-platform-tests/webmessaging/with-ports/027.html
+++ b/tests/wpt/web-platform-tests/webmessaging/with-ports/027.html
@@ -18,7 +18,7 @@ test(() => {
channel[0] = channel.port1;
channel[1] = channel.port2;
channel.length = 2;
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => { postMessage('', '*', channel) },
'Old-style WebIDL arrays must throw a type error');
}, "Old-style array objects");
diff --git a/tests/wpt/web-platform-tests/webmessaging/without-ports/001.html b/tests/wpt/web-platform-tests/webmessaging/without-ports/001.html
index 8f77c31fc61..09c28c5a5ce 100644
--- a/tests/wpt/web-platform-tests/webmessaging/without-ports/001.html
+++ b/tests/wpt/web-platform-tests/webmessaging/without-ports/001.html
@@ -5,7 +5,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws('SYNTAX_ERR', function() {
+ assert_throws_dom('SYNTAX_ERR', function() {
postMessage('', 'http://foo bar');
}, 'should have failed to resolve');
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/without-ports/003.html b/tests/wpt/web-platform-tests/webmessaging/without-ports/003.html
index 5021e09f46b..6dc1e55777b 100644
--- a/tests/wpt/web-platform-tests/webmessaging/without-ports/003.html
+++ b/tests/wpt/web-platform-tests/webmessaging/without-ports/003.html
@@ -5,7 +5,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws('SYNTAX_ERR', function() {
+ assert_throws_dom('SYNTAX_ERR', function() {
postMessage('', 'example.org');
}, 'targetOrigin is not an absolute url');
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/without-ports/009.html b/tests/wpt/web-platform-tests/webmessaging/without-ports/009.html
index 779383da203..d613b4a0734 100644
--- a/tests/wpt/web-platform-tests/webmessaging/without-ports/009.html
+++ b/tests/wpt/web-platform-tests/webmessaging/without-ports/009.html
@@ -5,7 +5,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
postMessage();
});
});
diff --git a/tests/wpt/web-platform-tests/webmessaging/without-ports/024.html b/tests/wpt/web-platform-tests/webmessaging/without-ports/024.html
index 8d99994599c..0e4651593a7 100644
--- a/tests/wpt/web-platform-tests/webmessaging/without-ports/024.html
+++ b/tests/wpt/web-platform-tests/webmessaging/without-ports/024.html
@@ -9,6 +9,6 @@ test(function() {
var ch = new MessageChannel();
ch.port1.onmessage = function(){};
ch.port2.start();
- assert_throws('DATA_CLONE_ERR', function() { ch.port2.postMessage({obj: obj}); });
+ assert_throws_dom('DATA_CLONE_ERR', function() { ch.port2.postMessage({obj: obj}); });
});
</script>
diff --git a/tests/wpt/web-platform-tests/webmessaging/without-ports/025-1.js b/tests/wpt/web-platform-tests/webmessaging/without-ports/025-1.js
index c088fc98194..bd1d778d9b3 100644
--- a/tests/wpt/web-platform-tests/webmessaging/without-ports/025-1.js
+++ b/tests/wpt/web-platform-tests/webmessaging/without-ports/025-1.js
@@ -7,7 +7,7 @@ test(function() {
}, "Worker MessageChannel's port should be an instance of MessagePort");
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
new MessagePort()
}, "MessagePort is [[Callable]]");
}, "Worker MessagePort should not be [[Callable]]");
diff --git a/tests/wpt/web-platform-tests/webmessaging/without-ports/025.html b/tests/wpt/web-platform-tests/webmessaging/without-ports/025.html
index 47bec6bd842..4686febe94e 100644
--- a/tests/wpt/web-platform-tests/webmessaging/without-ports/025.html
+++ b/tests/wpt/web-platform-tests/webmessaging/without-ports/025.html
@@ -7,7 +7,7 @@
test(function() {
var ch = new MessageChannel();
assert_true(ch.port1 instanceof MessagePort, "MessageChannel's port not an instance of MessagePort");
- assert_throws(new TypeError(), function () { var p = new MessagePort();}, "MessagePort is [[Callable]]");
+ assert_throws_js(TypeError, function () { var p = new MessagePort();}, "MessagePort is [[Callable]]");
});
fetch_tests_from_worker(new Worker("025-1.js"));
</script>
diff --git a/tests/wpt/web-platform-tests/webmessaging/without-ports/026.html b/tests/wpt/web-platform-tests/webmessaging/without-ports/026.html
index e8d799c5d25..546da8a91b5 100644
--- a/tests/wpt/web-platform-tests/webmessaging/without-ports/026.html
+++ b/tests/wpt/web-platform-tests/webmessaging/without-ports/026.html
@@ -6,9 +6,10 @@
<script>
async_test(function() {
var obj = {};
- obj.__defineGetter__( "field", function(){ throw new Error("getter_should_propagate_exceptions"); });
+ var err = new Error("getter_should_propagate_exceptions");
+ obj.__defineGetter__( "field", function(){ throw err });
- assert_throws(new Error("getter_should_propagate_exceptions"), function() {
+ assert_throws_exactly(err, function() {
postMessage(obj, '*');
});
this.done();
diff --git a/tests/wpt/web-platform-tests/webrtc-extensions/RTCRtpReceiver-playoutDelayHint.html b/tests/wpt/web-platform-tests/webrtc-extensions/RTCRtpReceiver-playoutDelayHint.html
index d8e47bda221..29dfc19a6b6 100644
--- a/tests/wpt/web-platform-tests/webrtc-extensions/RTCRtpReceiver-playoutDelayHint.html
+++ b/tests/wpt/web-platform-tests/webrtc-extensions/RTCRtpReceiver-playoutDelayHint.html
@@ -36,7 +36,7 @@ test(t => {
t.add_cleanup(() => pc.close());
const {receiver} = pc.addTransceiver('audio', {direction:'recvonly'});
receiver.playoutDelayHint = 0.7
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
receiver.playoutDelayHint = -0.5;
}, 'audio playoutDelayHint doesn\'t accept negative values');
assert_equals(receiver.playoutDelayHint, 0.7);
@@ -87,7 +87,7 @@ test(t => {
t.add_cleanup(() => pc.close());
const {receiver} = pc.addTransceiver('video', {direction:'recvonly'});
receiver.playoutDelayHint = 0.7
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
receiver.playoutDelayHint = -0.5;
}, 'video playoutDelayHint doesn\'t accept negative values');
assert_equals(receiver.playoutDelayHint, 0.7);
diff --git a/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicStream.https.html b/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicStream.https.html
index 563d74a2080..9f5fd7ffd53 100644
--- a/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicStream.https.html
+++ b/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicStream.https.html
@@ -34,13 +34,13 @@ promise_test(async t => {
promise_test(async t => {
const quicTransport = await makeStandaloneQuicTransport(t);
- assert_throws('InvalidStateError', () => quicTransport.createStream());
+ assert_throws_dom('InvalidStateError', () => quicTransport.createStream());
}, 'createStream() throws if the transport is not connected.');
promise_test(async t => {
const quicTransport = await makeStandaloneQuicTransport(t);
quicTransport.stop();
- assert_throws('InvalidStateError', () => quicTransport.createStream());
+ assert_throws_dom('InvalidStateError', () => quicTransport.createStream());
}, 'createStream() throws if the transport is closed.');
promise_test(async t => {
@@ -91,7 +91,7 @@ promise_test(async t => {
await makeTwoConnectedQuicTransports(t);
const localStream = localQuicTransport.createStream();
localStream.write({ finish: true });
- assert_throws('InvalidStateError', () => {
+ assert_throws_dom('InvalidStateError', () => {
localStream.write({ finish: true });
});
}, `write() with finish twice throws InvalidStateError.`);
@@ -200,7 +200,7 @@ promise_test(async t => {
const [ localQuicTransport, remoteQuicTransport ] =
await makeTwoConnectedQuicTransports(t);
const localStream = localQuicTransport.createStream();
- assert_throws('NotSupportedError', () =>
+ assert_throws_dom('NotSupportedError', () =>
localStream.write({ data: new Uint8Array() }));
}, 'write() without finish and an empty array throws NotSupportedError.');
@@ -208,7 +208,7 @@ promise_test(async t => {
const [ localQuicTransport, remoteQuicTransport ] =
await makeTwoConnectedQuicTransports(t);
const localStream = localQuicTransport.createStream();
- assert_throws('NotSupportedError', () =>
+ assert_throws_dom('NotSupportedError', () =>
localStream.write({}));
}, 'write() without finish and no data throws NotSupportedError.');
@@ -248,7 +248,7 @@ promise_test(async t => {
const [ localQuicTransport, remoteQuicTransport ] =
await makeTwoConnectedQuicTransports(t);
const localStream = localQuicTransport.createStream();
- assert_throws('OperationError', () => localStream.write({
+ assert_throws_dom('OperationError', () => localStream.write({
data: new Uint8Array(localStream.maxWriteBufferedAmount + 1)
}));
assert_equals(localStream.writeBufferedAmount, 0);
@@ -260,7 +260,7 @@ promise_test(async t => {
const localStream = localQuicTransport.createStream();
localStream.write(
{ data: new Uint8Array(10)});
- assert_throws('OperationError', () => localStream.write({
+ assert_throws_dom('OperationError', () => localStream.write({
data: new Uint8Array(localStream.maxWriteBufferedAmount)
}));
assert_equals(localStream.writeBufferedAmount, 10);
@@ -291,12 +291,12 @@ promise_test(async t => {
await makeTwoConnectedQuicTransports(t);
const localStream = localQuicTransport.createStream();
localStream.write({ finish: true });
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => localStream.write({ data: new Uint8Array([65]) }));
}, 'write() throws InvalidStateError if write() with finish has been called.');
closed_stream_test(async (t, stream) => {
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => stream.write({ data: new Uint8Array([65]) }));
}, 'write() throws InvalidStateError.');
@@ -471,7 +471,7 @@ promise_test(async t => {
}, 'readInto() on new local stream returns amount 0.');
closed_stream_test(async (t, stream) => {
- assert_throws('InvalidStateError', () => stream.readInto(new Uint8Array(1)));
+ assert_throws_dom('InvalidStateError', () => stream.readInto(new Uint8Array(1)));
}, 'readInto() throws InvalidStateError.');
promise_test(async t => {
diff --git a/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicTransport.https.html b/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicTransport.https.html
index b84d90f2388..aa80c911a67 100644
--- a/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicTransport.https.html
+++ b/tests/wpt/web-platform-tests/webrtc-quic/RTCQuicTransport.https.html
@@ -36,7 +36,7 @@ test(t => {
test(t => {
const iceTransport = makeIceTransport(t);
iceTransport.stop();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => makeQuicTransport(t, iceTransport));
}, 'RTCQuicTransport constructor throws if passed a closed RTCIceTransport.');
@@ -44,7 +44,7 @@ test(t => {
const iceTransport = makeIceTransport(t);
const firstQuicTransport =
makeQuicTransport(t, iceTransport);
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => makeQuicTransport(t, iceTransport));
}, 'RTCQuicTransport constructor throws if passed an RTCIceTransport that ' +
'already has an active RTCQuicTransport.');
@@ -59,7 +59,7 @@ promise_test(async t => {
await doSignalingHandshake(pc1, pc2);
const iceTransport = pc1.sctp.transport.iceTransport;
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => makeQuicTransport(t, iceTransport));
}, 'RTCQuicTransport constructor throws if passed an RTCIceTransport that ' +
'came from an RTCPeerConnection.');
@@ -109,28 +109,28 @@ test(t => {
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.connect();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.connect());
}, 'connect() throws if already called connect().');
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.listen(new Uint8Array([12345]));
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.connect());
}, 'connect() throws if already called listen().');
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.stop();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.connect());
}, 'connect() throws after stop().');
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.transport.stop();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.connect());
}, 'connect() throws if called after RTCIceTransport has stopped.');
@@ -143,28 +143,28 @@ test(t => {
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.connect();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.listen(new Uint8Array([12345])));
}, 'listen() throws if already called connect().');
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.listen(new Uint8Array([12345]));
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.listen(new Uint8Array([12345])));
}, 'listen() throws if already called listen().');
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.stop();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.listen(new Uint8Array([12345])));
}, 'listen() throws after stop().');
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.transport.stop();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.listen(new Uint8Array([12345])));
}, 'listen() throws if called after RTCIceTransport has stopped.');
@@ -177,7 +177,7 @@ test(t => {
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
const key = new Uint8Array();
- assert_throws('NotSupportedError',
+ assert_throws_dom('NotSupportedError',
() => quicTransport.listen(key));
}, 'listen() throws if given an empty key.');
@@ -282,7 +282,7 @@ promise_test(async t => {
test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.sendDatagram(new Uint8Array([1])));
}, `sendDatagram() throws InvalidStateError if called before 'connected'.`);
@@ -290,7 +290,7 @@ test(t => {
const quicTransport = makeStandaloneQuicTransport(t);
quicTransport.stop();
assert_equals(quicTransport.state, 'closed');
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => quicTransport.sendDatagram(new Uint8Array([1])));
}, `sendDatagram() throws InvalidStateError if called when 'closed'.`);
@@ -309,7 +309,7 @@ promise_test(async t => {
const [ localQuicTransport, remoteQuicTransport ] =
await makeTwoConnectedQuicTransports(t);
const bigData = new Uint8Array(localQuicTransport.maxDatagramLength + 1);
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => localQuicTransport.sendDatagram(bigData));
}, 'sendDatagram() throws InvalidStateError if called with data larger ' +
'than maxDatagramLength()');
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCCertificate-postMessage.html b/tests/wpt/web-platform-tests/webrtc/RTCCertificate-postMessage.html
index ee8347c97ac..6cca2400576 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCCertificate-postMessage.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCCertificate-postMessage.html
@@ -71,7 +71,7 @@
iframe.contentWindow.postMessage(null, "*");
let certificate2 = await promise;
- assert_throws("InvalidAccessError", () => { new RTCPeerConnection({certificates: [certificate2]}) });
+ assert_throws_dom("InvalidAccessError", () => { new RTCPeerConnection({certificates: [certificate2]}) });
iframe.remove();
}, "Check cross-origin created RTCCertificate");
</script>
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCCertificate.html b/tests/wpt/web-platform-tests/webrtc/RTCCertificate.html
index a33ba9ae5f2..6b7626c92e7 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCCertificate.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCCertificate.html
@@ -100,7 +100,7 @@
expires: 0
}).then(cert => {
assert_less_than_equal(cert.expires, Date.now());
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
new RTCPeerConnection({ certificates: [cert] }));
});
}, 'Constructing RTCPeerConnection with expired certificate should reject with InvalidAccessError');
@@ -126,12 +126,12 @@
certificates: [cert1]
});
- assert_throws('InvalidModificationError', () =>
+ assert_throws_dom('InvalidModificationError', () =>
pc.setConfiguration({
certificates: [cert2]
}));
- assert_throws('InvalidModificationError', () =>
+ assert_throws_dom('InvalidModificationError', () =>
pc.setConfiguration({
certificates: [cert1, cert2]
}));
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-bundlePolicy.html b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-bundlePolicy.html
index 6b64cf8ddd5..e825d7b4023 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-bundlePolicy.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-bundlePolicy.html
@@ -88,12 +88,12 @@
}, `setConfiguration({ bundlePolicy: 'max-bundle' }) with initial bundlePolicy max-bundle should succeed`);
test(() => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
new RTCPeerConnection({ bundlePolicy: null }));
}, `new RTCPeerConnection({ bundlePolicy: null }) should throw TypeError`);
test(() => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
new RTCPeerConnection({ bundlePolicy: 'invalid' }));
}, `new RTCPeerConnection({ bundlePolicy: 'invalid' }) should throw TypeError`);
@@ -107,7 +107,7 @@
const pc = new RTCPeerConnection({ bundlePolicy: 'max-bundle' });
assert_idl_attribute(pc, 'setConfiguration');
- assert_throws('InvalidModificationError', () =>
+ assert_throws_dom('InvalidModificationError', () =>
pc.setConfiguration({ bundlePolicy: 'max-compat' }));
}, `setConfiguration({ bundlePolicy: 'max-compat' }) with initial bundlePolicy max-bundle should throw InvalidModificationError`);
@@ -116,7 +116,7 @@
assert_idl_attribute(pc, 'setConfiguration');
// the default value for bundlePolicy is balanced
- assert_throws('InvalidModificationError', () =>
+ assert_throws_dom('InvalidModificationError', () =>
pc.setConfiguration({}));
}, `setConfiguration({}) with initial bundlePolicy max-bundle should throw InvalidModificationError`);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html
index 2e6859d2596..0dccf4c11d2 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html
@@ -47,7 +47,7 @@ test(() => {
}, "Initialize a new RTCPeerConnection with iceCandidatePoolSize: 255");
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new RTCPeerConnection({
iceCandidatePoolSize: -1
});
@@ -55,7 +55,7 @@ test(() => {
}, "Initialize a new RTCPeerConnection with iceCandidatePoolSize: -1 (Out Of Range)");
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new RTCPeerConnection({
iceCandidatePoolSize: 256
});
@@ -98,7 +98,7 @@ been implemented). Without this check, these tests will pass incorrectly.
test(() => {
const pc = new RTCPeerConnection();
assert_equals(typeof pc.setConfiguration, "function", "RTCPeerConnection.prototype.setConfiguration is not implemented");
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
pc.setConfiguration({
iceCandidatePoolSize: -1
});
@@ -108,7 +108,7 @@ test(() => {
test(() => {
const pc = new RTCPeerConnection();
assert_equals(typeof pc.setConfiguration, "function", "RTCPeerConnection.prototype.setConfiguration is not implemented");
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
pc.setConfiguration({
iceCandidatePoolSize: 256
});
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html
index 3f5c367d3ad..2ef99bf59c8 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html
@@ -58,7 +58,7 @@
}, '{} should succeed');
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceServers: null }));
}, '{ iceServers: null } should throw TypeError');
@@ -73,17 +73,17 @@
}, '{ iceServers: [] } should succeed');
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceServers: [null] }));
}, '{ iceServers: [null] } should throw TypeError');
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceServers: [undefined] }));
}, '{ iceServers: [undefined] } should throw TypeError');
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceServers: [{}] }));
}, '{ iceServers: [{}] } should throw TypeError');
@@ -219,14 +219,14 @@
server.credential are omitted, then throw an InvalidAccessError.
*/
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turn:turn.example.net'
}] }));
}, 'with turn server and no credentials should throw InvalidAccessError');
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turn:turn.example.net',
username: 'user'
@@ -234,7 +234,7 @@
}, 'with turn server and only username should throw InvalidAccessError');
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turn:turn.example.net',
credential: 'cred'
@@ -242,14 +242,14 @@
}, 'with turn server and only credential should throw InvalidAccessError');
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turns:turn.example.net'
}] }));
}, 'with turns server and no credentials should throw InvalidAccessError');
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turns:turn.example.net',
username: 'user'
@@ -257,7 +257,7 @@
}, 'with turns server and only username should throw InvalidAccessError');
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turns:turn.example.net',
credential: 'cred'
@@ -285,56 +285,56 @@
transport-ext = 1*unreserved
*/
config_test(makePc => {
- assert_throws(new SyntaxError(), () =>
+ assert_throws_dom("SyntaxError", () =>
makePc({ iceServers: [{
urls: ''
}] }));
}, 'with "" url should throw SyntaxError');
config_test(makePc => {
- assert_throws(new SyntaxError(), () =>
+ assert_throws_dom("SyntaxError", () =>
makePc({ iceServers: [{
urls: ['stun:stun1.example.net', '']
}] }));
}, 'with ["stun:stun1.example.net", ""] url should throw SyntaxError');
config_test(makePc => {
- assert_throws(new SyntaxError(), () =>
+ assert_throws_dom("SyntaxError", () =>
makePc({ iceServers: [{
urls: 'relative-url'
}] }));
}, 'with relative url should throw SyntaxError');
config_test(makePc => {
- assert_throws(new SyntaxError(), () =>
+ assert_throws_dom("SyntaxError", () =>
makePc({ iceServers: [{
urls: 'http://example.com'
}] }));
}, 'with http url should throw SyntaxError');
config_test(makePc => {
- assert_throws(new SyntaxError(), () =>
+ assert_throws_dom("SyntaxError", () =>
makePc({ iceServers: [{
urls: 'turn://example.org/foo?x=y'
}] }));
}, 'with invalid turn url should throw SyntaxError');
config_test(makePc => {
- assert_throws(new SyntaxError(), () =>
+ assert_throws_dom("SyntaxError", () =>
makePc({ iceServers: [{
urls: 'stun://example.org/foo?x=y'
}] }));
}, 'with invalid stun url should throw SyntaxError');
config_test(makePc => {
- assert_throws(new SyntaxError(), () =>
+ assert_throws_dom("SyntaxError", () =>
makePc({ iceServers: [{
urls: []
}] }));
}, `with empty urls should throw SyntaxError`);
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceServers: [{
urls: [],
credentialType: 'invalid'
@@ -343,7 +343,7 @@
// token credentialType was removed from the spec since 20170508
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceServers: [{
urls: [],
credentialType: 'token'
@@ -352,7 +352,7 @@
// Blink and Gecko fall back to url, but it's not in the spec.
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceServers: [{
url: 'stun:stun1.example.net'
}] }));
@@ -365,7 +365,7 @@
and abort these steps.
*/
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turns:turn.example.org',
credentialType: 'password',
@@ -384,7 +384,7 @@
InvalidAccessError and abort these steps.
*/
config_test(makePc => {
- assert_throws('InvalidAccessError', () =>
+ assert_throws_dom('InvalidAccessError', () =>
makePc({ iceServers: [{
urls: 'turns:turn.example.org',
credentialType: 'oauth',
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceTransportPolicy.html b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceTransportPolicy.html
index 74e8b4b2ae7..25d4511f48e 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceTransportPolicy.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceTransportPolicy.html
@@ -85,18 +85,18 @@
}, `setConfiguration({}) with initial iceTransportPolicy relay should set new value to all`);
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceTransportPolicy: 'invalid' }));
}, `with invalid iceTransportPolicy should throw TypeError`);
// "none" is in Blink and Gecko's IDL, but not in the spec.
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceTransportPolicy: 'none' }));
}, `with none iceTransportPolicy should throw TypeError`);
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ iceTransportPolicy: null }));
}, `with null iceTransportPolicy should throw TypeError`);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-rtcpMuxPolicy.html b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-rtcpMuxPolicy.html
index 7d0c81f5eab..5198c9074a0 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-rtcpMuxPolicy.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-rtcpMuxPolicy.html
@@ -71,12 +71,12 @@
}, `new RTCPeerConnection({ rtcpMuxPolicy: 'negotiate' }) may succeed or throw NotSupportedError`);
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ rtcpMuxPolicy: null }));
}, `with { rtcpMuxPolicy: null } should throw TypeError`);
config_test(makePc => {
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
makePc({ rtcpMuxPolicy: 'invalid' }));
}, `with { rtcpMuxPolicy: 'invalid' } should throw TypeError`);
@@ -89,7 +89,7 @@
test(() => {
const pc = new RTCPeerConnection({ rtcpMuxPolicy: 'require' });
assert_idl_attribute(pc, 'setConfiguration');
- assert_throws('InvalidModificationError', () =>
+ assert_throws_dom('InvalidModificationError', () =>
pc.setConfiguration({ rtcpMuxPolicy: 'negotiate' }));
}, `setConfiguration({ rtcpMuxPolicy: 'negotiate' }) with initial rtcpMuxPolicy require should throw InvalidModificationError`);
@@ -109,7 +109,7 @@
}
assert_idl_attribute(pc, 'setConfiguration');
- assert_throws('InvalidModificationError', () =>
+ assert_throws_dom('InvalidModificationError', () =>
pc.setConfiguration({ rtcpMuxPolicy: 'require' }));
}, `setConfiguration({ rtcpMuxPolicy: 'require' }) with initial rtcpMuxPolicy negotiate should throw InvalidModificationError`);
@@ -130,7 +130,7 @@
assert_idl_attribute(pc, 'setConfiguration');
// default value for rtcpMuxPolicy is require
- assert_throws('InvalidModificationError', () =>
+ assert_throws_dom('InvalidModificationError', () =>
pc.setConfiguration({}));
}, `setConfiguration({}) with initial rtcpMuxPolicy negotiate should throw InvalidModificationError`);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html
index 62a5f0472c1..be6e3c6e59d 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html
@@ -75,15 +75,15 @@
promise_test(t => {
return createDtmfSender()
.then(dtmfSender => {
- assert_throws('InvalidCharacterError', () =>
+ assert_throws_dom('InvalidCharacterError', () =>
// 'F' is invalid
dtmfSender.insertDTMF('123FFABC'));
- assert_throws('InvalidCharacterError', () =>
+ assert_throws_dom('InvalidCharacterError', () =>
// 'E' is invalid
dtmfSender.insertDTMF('E'));
- assert_throws('InvalidCharacterError', () =>
+ assert_throws_dom('InvalidCharacterError', () =>
// ' ' is invalid
dtmfSender.insertDTMF('# *'));
});
@@ -99,7 +99,7 @@
const dtmfSender = transceiver.sender.dtmf;
transceiver.stop();
- assert_throws('InvalidStateError', () => dtmfSender.insertDTMF(''));
+ assert_throws_dom('InvalidStateError', () => dtmfSender.insertDTMF(''));
}, 'insertDTMF() should throw InvalidStateError if transceiver is stopped');
@@ -127,7 +127,7 @@
await callee.setLocalDescription(answer);
await caller.setRemoteDescription(answer);
assert_equals(transceiver.currentDirection, 'recvonly');
- assert_throws('InvalidStateError', () => dtmfSender.insertDTMF(''));
+ assert_throws_dom('InvalidStateError', () => dtmfSender.insertDTMF(''));
}, 'insertDTMF() should throw InvalidStateError if transceiver.currentDirection is recvonly');
promise_test(async t => {
@@ -142,7 +142,7 @@
const answer = await generateAnswer(offer);
await pc.setRemoteDescription(answer);
assert_equals(transceiver.currentDirection, 'inactive');
- assert_throws('InvalidStateError', () => dtmfSender.insertDTMF(''));
+ assert_throws_dom('InvalidStateError', () => dtmfSender.insertDTMF(''));
}, 'insertDTMF() should throw InvalidStateError if transceiver.currentDirection is inactive');
/*
@@ -180,7 +180,7 @@
dtmfSender = sender.dtmf;
pc.removeTrack(sender);
pc.close();
- assert_throws('InvalidStateError', () =>
+ assert_throws_dom('InvalidStateError', () =>
dtmfSender.insertDTMF('123'));
});
}, 'insertDTMF() after remove and close should reject');
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-id.html b/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-id.html
index 0cf01976ff0..355f6a36eae 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-id.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-id.html
@@ -331,9 +331,9 @@ promise_test(async (t) => {
// Try creating one further channel on both sides. The attempt should fail since all IDs are
// taken. If one ID is available, the implementation probably miscounts (or I did in the test).
- assert_throws('OperationError', () =>
+ assert_throws_dom('OperationError', () =>
pc1.createDataChannel('this is too exhausting!'));
- assert_throws('OperationError', () =>
+ assert_throws_dom('OperationError', () =>
pc2.createDataChannel('this is too exhausting!'));
maybeDone();
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html b/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html
index 4565a8385fe..406937f33ae 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html
@@ -54,7 +54,7 @@
const pc = new RTCPeerConnection();
const channel = pc.createDataChannel('test');
assert_equals(channel.readyState, 'connecting');
- assert_throws('InvalidStateError', () => channel.send(helloString));
+ assert_throws_dom('InvalidStateError', () => channel.send(helloString));
}, 'Calling send() when data channel is in connecting state should throw InvalidStateError');
/*
@@ -313,6 +313,6 @@ promise_test(async t => {
// "send" method step 4:
// If the byte size of "data" exceeds the value of maxMessageSize, throw
// a TypeError.
- assert_throws('TypeError', () => channel1.send(message));
+ assert_throws_dom('TypeError', () => channel1.send(message));
}, 'Calling send() up to max size should succeed, above max size should fail');
</script>
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDataChannelEvent-constructor.html b/tests/wpt/web-platform-tests/webrtc/RTCDataChannelEvent-constructor.html
index 03211eccb92..265943ae563 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCDataChannelEvent-constructor.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCDataChannelEvent-constructor.html
@@ -9,22 +9,22 @@
test(function() {
assert_equals(RTCDataChannelEvent.length, 2);
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
function() { new RTCDataChannelEvent('type'); }
);
}, 'RTCDataChannelEvent constructor without a required argument.');
test(function() {
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
function() { new RTCDataChannelEvent('type', { channel: null }); }
);
}, 'RTCDataChannelEvent constructor with channel passed as null.');
test(function() {
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
function() { new RTCDataChannelEvent('type', { channel: undefined }); }
);
}, 'RTCDataChannelEvent constructor with a channel passed as undefined.');
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCError.html b/tests/wpt/web-platform-tests/webrtc/RTCError.html
index 9c7227521ed..bcc5749bf7d 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCError.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCError.html
@@ -19,16 +19,16 @@ test(() => {
}, 'RTCError constructor\'s message argument is optional');
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new RTCError();
});
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new RTCError({}); // {errorDetail} is missing.
});
}, 'RTCError constructor throws TypeError if arguments are missing');
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new RTCError({errorDetail:'invalid-error-detail'}, 'message');
});
}, 'RTCError constructor throws TypeError if the errorDetail is invalid');
@@ -45,7 +45,7 @@ test(() => {
test(() => {
const error = new RTCError({errorDetail:'data-channel-failure'}, 'message');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
error.errorDetail = 'dtls-failure';
});
}, 'RTCError.errorDetail is readonly.');
@@ -53,7 +53,7 @@ test(() => {
test(() => {
// Infers what are valid RTCErrorInit objects by passing them to the RTCError
// constructor.
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new RTCError({}, 'message');
});
new RTCError({errorDetail:'data-channel-failure'}, 'message');
@@ -80,7 +80,7 @@ nullableAttributes.forEach(attribute => {
test(() => {
const error = new RTCError({errorDetail:'data-channel-failure'}, 'message');
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
error[attribute] = 42;
});
}, 'RTCError.' + attribute + ' is readonly');
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCIceCandidate-constructor.html b/tests/wpt/web-platform-tests/webrtc/RTCIceCandidate-constructor.html
index 344007ded2b..6c208e887f4 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCIceCandidate-constructor.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCIceCandidate-constructor.html
@@ -15,7 +15,7 @@
// Note that current browsers pass this test but may throw TypeError for
// different reason, i.e. they don't accept empty argument.
// Further tests below are used to differentiate the errors.
- assert_throws(new TypeError(), () => new RTCIceCandidate());
+ assert_throws_js(TypeError, () => new RTCIceCandidate());
}, 'new RTCIceCandidate()');
test(t => {
@@ -24,13 +24,13 @@
// Note that current browsers pass this test but may throw TypeError for
// different reason, i.e. they don't allow undefined candidate string.
// Further tests below are used to differentiate the errors.
- assert_throws(new TypeError(), () => new RTCIceCandidate({}));
+ assert_throws_js(TypeError, () => new RTCIceCandidate({}));
}, 'new RTCIceCandidate({})');
test(t => {
// Checks that manually filling the default values for RTCIceCandidateInit
// still throws because both sdpMid and sdpMLineIndex are null
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new RTCIceCandidate({
candidate: '',
sdpMid: null,
@@ -41,7 +41,7 @@
test(t => {
// Checks that explicitly setting both sdpMid and sdpMLineIndex null should throw
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new RTCIceCandidate({
sdpMid: null,
sdpMLineIndex: null
@@ -50,7 +50,7 @@
test(t => {
// Throws because both sdpMid and sdpMLineIndex are null by default
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new RTCIceCandidate({
candidate: ''
}));
@@ -58,7 +58,7 @@
test(t => {
// Throws because the candidate field is not nullable
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new RTCIceCandidate({
candidate: null
}));
@@ -66,7 +66,7 @@
test(t => {
// Throws because both sdpMid and sdpMLineIndex are null by default
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new RTCIceCandidate({
candidate: candidateString
}));
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCIceTransport-extension.https.html b/tests/wpt/web-platform-tests/webrtc/RTCIceTransport-extension.https.html
index 94beb992786..40e9f30d170 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCIceTransport-extension.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCIceTransport-extension.https.html
@@ -39,7 +39,7 @@ test(() => {
test(t => {
const iceTransport = makeIceTransport(t);
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
iceTransport.gather({ iceServers: null }));
}, 'gather() with { iceServers: null } should throw TypeError');
@@ -68,7 +68,7 @@ test(t => {
test(t => {
const iceTransport = makeIceTransport(t);
iceTransport.stop();
- assert_throws('InvalidStateError', () => iceTransport.gather({}));
+ assert_throws_dom('InvalidStateError', () => iceTransport.gather({}));
}, 'gather() throws if closed');
test(t => {
@@ -80,7 +80,7 @@ test(t => {
test(t => {
const iceTransport = makeIceTransport(t);
iceTransport.gather({});
- assert_throws('InvalidStateError', () => iceTransport.gather({}));
+ assert_throws_dom('InvalidStateError', () => iceTransport.gather({}));
}, 'gather() throws if called twice');
promise_test(async t => {
@@ -133,17 +133,17 @@ const dummyRemoteParameters = {
test(() => {
const iceTransport = new RTCIceTransport();
iceTransport.stop();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => iceTransport.start(dummyRemoteParameters));
assert_equals(iceTransport.getRemoteParameters(), null);
}, `start() throws if closed`);
test(() => {
const iceTransport = new RTCIceTransport();
- assert_throws(new TypeError(), () => iceTransport.start({}));
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError, () => iceTransport.start({}));
+ assert_throws_js(TypeError,
() => iceTransport.start({ usernameFragment: 'dummy' }));
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => iceTransport.start({ password: 'dummy' }));
assert_equals(iceTransport.getRemoteParameters(), null);
}, 'start() throws if usernameFragment or password not set');
@@ -183,14 +183,14 @@ const candidate1 = new RTCIceCandidate({
test(() => {
const iceTransport = new RTCIceTransport();
iceTransport.stop();
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => iceTransport.addRemoteCandidate(candidate1));
assert_array_equals(iceTransport.getRemoteCandidates(), []);
}, 'addRemoteCandidate() throws if closed');
test(() => {
const iceTransport = new RTCIceTransport();
- assert_throws('OperationError',
+ assert_throws_dom('OperationError',
() => iceTransport.addRemoteCandidate(
new RTCIceCandidate({ candidate: 'invalid', sdpMid: '' })));
assert_array_equals(iceTransport.getRemoteCandidates(), []);
@@ -217,7 +217,7 @@ test(t => {
test(t => {
const iceTransport = makeIceTransport(t);
iceTransport.start(dummyRemoteParameters);
- assert_throws('InvalidStateError',
+ assert_throws_dom('InvalidStateError',
() => iceTransport.start(dummyRemoteParameters, 'controlling'));
}, 'start() throws if later called with a different role');
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html
index 3f4f927883d..7585961f31c 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html
@@ -46,7 +46,7 @@
const [track] = stream.getTracks();
pc.close();
- assert_throws('InvalidStateError', () => pc.addTrack(track, stream))
+ assert_throws_dom('InvalidStateError', () => pc.addTrack(track, stream))
}, 'addTrack when pc is closed should throw InvalidStateError');
/*
@@ -142,7 +142,7 @@
const [track] = stream.getTracks();
pc.addTrack(track, stream);
- assert_throws('InvalidAccessError', () => pc.addTrack(track, stream));
+ assert_throws_dom('InvalidAccessError', () => pc.addTrack(track, stream));
}, 'Adding the same track multiple times should throw InvalidAccessError');
/*
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.https.html
index 3640bfb31cd..bc537c26867 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.https.html
@@ -80,7 +80,7 @@
t.add_cleanup(() => pc.close());
assert_idl_attribute(pc, 'addTransceiver');
- assert_throws(new TypeError(), () => pc.addTransceiver('invalid'));
+ assert_throws_js(TypeError, () => pc.addTransceiver('invalid'));
}, 'addTransceiver() with string argument as invalid kind should throw TypeError');
/*
@@ -232,7 +232,7 @@
t.add_cleanup(() => pc.close());
assert_idl_attribute(pc, 'addTransceiver');
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
pc.addTransceiver('audio', { direction: 'invalid' }));
}, `addTransceiver() with invalid direction should throw TypeError`);
@@ -324,7 +324,7 @@
t.add_cleanup(() => pc.close());
assert_idl_attribute(pc, 'addTransceiver');
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
pc.addTransceiver('audio', {
sendEncodings: [{
rid: '@Invalid!'
@@ -337,7 +337,7 @@
t.add_cleanup(() => pc.close());
assert_idl_attribute(pc, 'addTransceiver');
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
pc.addTransceiver('audio', {
sendEncodings: [{
rid: 'a'.repeat(17)
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-constructor.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-constructor.html
index abea2eb6761..0336837f813 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-constructor.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-constructor.html
@@ -24,14 +24,14 @@ const testArgs = {
'{}': false,
// certificates
- '{ certificates: null }': new TypeError,
+ '{ certificates: null }': TypeError,
'{ certificates: undefined }': false,
'{ certificates: [] }': false,
- '{ certificates: [null] }': new TypeError,
- '{ certificates: [undefined] }': new TypeError,
+ '{ certificates: [null] }': TypeError,
+ '{ certificates: [undefined] }': TypeError,
// iceCandidatePoolSize
- '{ iceCandidatePoolSize: toNumberThrows }': new TypeError,
+ '{ iceCandidatePoolSize: toNumberThrows }': TypeError,
}
for (const arg in testArgs) {
@@ -39,7 +39,7 @@ for (const arg in testArgs) {
test(function() {
const throws = testArgs[arg];
if (throws) {
- assert_throws(throws, function() {
+ assert_throws_js(throws, function() {
eval(expr);
});
} else {
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html
index 350f7156782..67b40c9ed8e 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html
@@ -69,7 +69,7 @@ test(t => {
const pc = new RTCPeerConnection();
pc.close();
assert_equals(pc.signalingState, 'closed', 'signaling state');
- assert_throws('InvalidStateError', () => pc.createDataChannel(''));
+ assert_throws_dom('InvalidStateError', () => pc.createDataChannel(''));
}, 'createDataChannel with closed connection should throw InvalidStateError');
/*
@@ -597,7 +597,7 @@ test(t => {
assert_equals(dc2.id, 43,
'Expect dc2.id to be 43');
- assert_throws('OperationError', () =>
+ assert_throws_dom('OperationError', () =>
pc.createDataChannel('channel-3', {
negotiated: true,
id: 42,
@@ -634,7 +634,7 @@ promise_test(async t => {
assert_equals(dc2.id, 43, 'Expect dc2.id to be 43');
- assert_throws('OperationError', () =>
+ assert_throws_dom('OperationError', () =>
pc1.createDataChannel('channel-3', {
negotiated: true,
id: 42,
@@ -658,7 +658,7 @@ promise_test(async t => {
assert_not_equals(dc1.id, null,
'Expect dc1.id to be assigned after remote description has been set');
- assert_throws('OperationError', () =>
+ assert_throws_dom('OperationError', () =>
pc1.createDataChannel('channel-2', {
negotiated: true,
id: dc1.id,
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
index 10b4cfb3a61..9e61ef785ed 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
@@ -43,7 +43,7 @@
const { sender } = transceiver;
pc.close();
- assert_throws('InvalidStateError', () => pc.removeTrack(sender));
+ assert_throws_dom('InvalidStateError', () => pc.removeTrack(sender));
}, 'addTransceiver - Calling removeTrack when connection is closed should throw InvalidStateError');
promise_test(async t => {
@@ -56,7 +56,7 @@
const sender = pc.addTrack(track, stream);
pc.close();
- assert_throws('InvalidStateError', () => pc.removeTrack(sender));
+ assert_throws_dom('InvalidStateError', () => pc.removeTrack(sender));
}, 'addTrack - Calling removeTrack when connection is closed should throw InvalidStateError');
promise_test(async t => {
@@ -70,7 +70,7 @@
const pc2 = new RTCPeerConnection();
pc2.close();
- assert_throws('InvalidStateError', () => pc2.removeTrack(sender));
+ assert_throws_dom('InvalidStateError', () => pc2.removeTrack(sender));
}, 'addTransceiver - Calling removeTrack on different connection that is closed should throw InvalidStateError');
promise_test(async t => {
@@ -84,7 +84,7 @@
const pc2 = new RTCPeerConnection();
pc2.close();
- assert_throws('InvalidStateError', () => pc2.removeTrack(sender));
+ assert_throws_dom('InvalidStateError', () => pc2.removeTrack(sender));
}, 'addTrack - Calling removeTrack on different connection that is closed should throw InvalidStateError');
/*
@@ -102,7 +102,7 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- assert_throws('InvalidAccessError', () => pc2.removeTrack(sender));
+ assert_throws_dom('InvalidAccessError', () => pc2.removeTrack(sender));
}, 'addTransceiver - Calling removeTrack on different connection should throw InvalidAccessError');
promise_test(async t => {
@@ -116,7 +116,7 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- assert_throws('InvalidAccessError', () => pc2.removeTrack(sender));
+ assert_throws_dom('InvalidAccessError', () => pc2.removeTrack(sender));
}, 'addTrack - Calling removeTrack on different connection should throw InvalidAccessError')
/*
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html
index 464e16d736a..3f335d71b9a 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html
@@ -54,7 +54,7 @@
await pc.setRemoteDescription({ type: 'bogus', sdp: 'bogus' });
t.unreached_func("Should have rejected.");
} catch (e) {
- assert_throws(new TypeError(), () => { throw e });
+ assert_throws_js(TypeError, () => { throw e });
}
}, 'setRemoteDescription with invalid type and invalid SDP should reject with TypeError');
@@ -67,7 +67,7 @@
await pc.setRemoteDescription({ type: 'answer', sdp: 'invalid' });
t.unreached_func("Should have rejected.");
} catch (e) {
- assert_throws('InvalidStateError', () => { throw e });
+ assert_throws_dom('InvalidStateError', () => { throw e });
}
}, 'setRemoteDescription() with invalid SDP and stable state should reject with InvalidStateError');
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor.html
index 7de7fcaeb10..447002dca1f 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor.html
@@ -20,7 +20,7 @@ interface RTCPeerConnectionIceEvent : Event {
};
*/
test(() => {
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new RTCPeerConnectionIceEvent();
});
}, "RTCPeerConnectionIceEvent with no arguments throws TypeError");
@@ -109,7 +109,7 @@ test(() => {
test(() => {
const plain = { candidate, sdpMid, sdpMLineIndex, usernameFragment };
- assert_throws(new TypeError(), () => new RTCPeerConnectionIceEvent("type", { candidate: plain }));
+ assert_throws_js(TypeError, () => new RTCPeerConnectionIceEvent("type", { candidate: plain }));
}, "RTCPeerConnectionIceEvent with non RTCIceCandidate object throws");
test(() => {
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-setStreams.https.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-setStreams.https.html
index 08592da4d52..45b47d06a6c 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-setStreams.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-setStreams.https.html
@@ -123,6 +123,6 @@ test(t => {
const transceiver = pc.addTransceiver('audio');
pc.close();
- assert_throws('InvalidStateError', () => transceiver.sender.setStreams(stream1, stream2));
+ assert_throws_dom('InvalidStateError', () => transceiver.sender.setStreams(stream1, stream2));
}, 'setStreams() fires InvalidStateError on a closed peer connection.');
</script>
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver-setCodecPreferences.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver-setCodecPreferences.html
index c553c9d8bc7..dff1eb2c582 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver-setCodecPreferences.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver-setCodecPreferences.html
@@ -81,7 +81,7 @@
const pc = new RTCPeerConnection();
const transceiver = pc.addTransceiver('audio');
const capabilities = RTCRtpSender.getCapabilities('video');
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(capabilities.codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(capabilities.codecs));
}, `setCodecPreferences() on audio transceiver with codecs returned from getCapabilities('video') should throw InvalidModificationError`);
@@ -95,7 +95,7 @@
sdpFmtpLine: '0-15'
}];
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
}, `setCodecPreferences() with user defined codec with invalid mimeType should throw InvalidModificationError`);
@@ -109,7 +109,7 @@
sdpFmtpLine: '0-15'
}];
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
}, `setCodecPreferences() with user defined codec should throw InvalidModificationError`);
@@ -126,7 +126,7 @@
sdpFmtpLine: '0-15'
}];
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
}, `setCodecPreferences() with user defined codec together with codecs returned from getCapabilities() should throw InvalidModificationError`);
@@ -137,7 +137,7 @@
const codecs = [capabilities.codecs[0]];
codecs[0].clockRate = codecs[0].clockRate / 2;
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
}, `setCodecPreferences() with modified codec clock rate should throw InvalidModificationError`);
@@ -148,7 +148,7 @@
const codecs = [capabilities.codecs[0]];
codecs[0].channels = codecs[0].channels + 11;
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
}, `setCodecPreferences() with modified codec channel count should throw InvalidModificationError`);
@@ -159,7 +159,7 @@
const codecs = [capabilities.codecs[0]];
codecs[0].sdpFmtpLine = "modifiedparameter=1";
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
}, `setCodecPreferences() with modified codec parameters should throw InvalidModificationError`);
@@ -176,7 +176,7 @@
const { channels=2 } = codec;
codec.channels = channels+1;
- assert_throws('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
+ assert_throws_dom('InvalidModificationError', () => transceiver.setCodecPreferences(codecs));
}, `setCodecPreferences() with modified codecs returned from getCapabilities() should throw InvalidModificationError`);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCTrackEvent-constructor.html b/tests/wpt/web-platform-tests/webrtc/RTCTrackEvent-constructor.html
index a0c031eaa5a..c9105e693af 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCTrackEvent-constructor.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCTrackEvent-constructor.html
@@ -117,7 +117,7 @@
const { receiver } = transceiver;
const { track } = receiver;
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
new RTCTrackEvent('track', {
receiver, track
}));
@@ -129,7 +129,7 @@
const transceiver = pc.addTransceiver('audio');
const { receiver } = transceiver;
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
new RTCTrackEvent('track', {
receiver, transceiver
}));
@@ -142,7 +142,7 @@
const { receiver } = transceiver;
const { track } = receiver;
- assert_throws(new TypeError(), () =>
+ assert_throws_js(TypeError, () =>
new RTCTrackEvent('track', {
track, transceiver
}));
diff --git a/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js b/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js
index 357748a7c4d..d7fcdcb10c9 100644
--- a/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js
@@ -8,7 +8,7 @@ var isOpenCalled = false;
wsocket.addEventListener('open', test.step_func(function(evt) {
var reason = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123";
assert_equals(reason.length, 124);
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket.close(1000, reason)
});
test.done();
diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js
index f6ca19e0472..1ff0d259271 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js
@@ -3,7 +3,7 @@
test(function() {
var wsocket;
var spaceUrl = "web platform.test";
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketWithSpaceInUrl(spaceUrl)
});
}, "Create Secure WebSocket - Pass a URL with a space - SYNTAX_ERR should be thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js b/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js
index 37657f18dfc..e3f55fbc930 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js
@@ -3,7 +3,7 @@
test(function() {
var asciiWithSep = "/echo";
var wsocket;
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketWithAsciiSep(asciiWithSep)
});
}, "Create WebSocket - Pass a valid URL and a protocol string with an ascii separator character - SYNTAX_ERR is thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js b/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js
index 5ae25a2cdc0..5fe0bf4fba8 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js
@@ -2,31 +2,31 @@
var wsocket;
test(function() {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = new WebSocket("/echo")
});
}, "Url is /echo - should throw SYNTAX_ERR");
test(function() {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = new WebSocket("mailto:microsoft@microsoft.com")
});
}, "Url is a mail address - should throw SYNTAX_ERR");
test(function() {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = new WebSocket("about:blank")
});
}, "Url is about:blank - should throw SYNTAX_ERR");
test(function() {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = new WebSocket("?test")
});
}, "Url is ?test - should throw SYNTAX_ERR");
test(function() {
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = new WebSocket("#test")
});
}, "Url is #test - should throw SYNTAX_ERR");
diff --git a/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js b/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js
index 9ac9707209f..543ba373167 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js
@@ -2,7 +2,7 @@
test(function() {
var wsocket;
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketNonAbsolute()
});
}, "Create WebSocket - Pass a non absolute URL - SYNTAX_ERR is thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js b/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js
index 631699413a3..85a8d368917 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js
@@ -3,7 +3,7 @@
test(function() {
var nonAsciiProtocol = "\u0080echo";
var wsocket;
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketNonAsciiProtocol(nonAsciiProtocol)
});
}, "Create WebSocket - Pass a valid URL and a protocol string with non-ascii values - SYNTAX_ERR is thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js b/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js
index 18f6815a489..e7c1bea4de3 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js
@@ -2,7 +2,7 @@
test(function() {
var wsocket;
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketWithSpaceInProtocol("ec ho")
});
}, "Create WebSocket - Pass a valid URL and a protocol string with a space in it - SYNTAX_ERR is thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js
index 1d59015e058..0b9bfecdc72 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js
@@ -2,7 +2,7 @@
test(function() {
var wsocket;
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketWithRepeatedProtocolsCaseInsensitive()
});
}, "Create WebSocket - Pass a valid URL and an array of protocol strings with repeated values but different case - SYNTAX_ERR is thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js
index bdaf5606a8b..67cfa1f122f 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js
@@ -2,7 +2,7 @@
test(function() {
var wsocket;
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketWithRepeatedProtocols()
});
}, "Create WebSocket - Pass a valid URL and an array of protocol strings with repeated values - SYNTAX_ERR is thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js b/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js
index 78ff7394622..affe346d6e1 100644
--- a/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js
@@ -2,7 +2,7 @@
test(function() {
var wsocket;
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket = CreateWebSocketNonWsScheme()
});
}, "Create WebSocket - Pass a URL with a non ws/wss scheme - SYNTAX_ERR is thrown")
diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js
index f5f2cbf6e66..dc0d0550f23 100644
--- a/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js
@@ -6,7 +6,7 @@ var wsocket = CreateWebSocket(true, false, false);
var isOpenCalled = false;
wsocket.addEventListener('open', test.step_func(function(evt) {
- assert_throws("INVALID_ACCESS_ERR", function() {
+ assert_throws_dom("INVALID_ACCESS_ERR", function() {
wsocket.close(1005, "1005 - reserved code")
});
test.done();
diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js
index ee1c756694b..f90a95acf7f 100644
--- a/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js
@@ -5,7 +5,7 @@ var test = async_test("Create Secure WebSocket - Close the Connection - close(29
var wsocket = CreateWebSocket(true, false, false);
wsocket.addEventListener('open', test.step_func(function(evt) {
- assert_throws("INVALID_ACCESS_ERR", function() {
+ assert_throws_dom("INVALID_ACCESS_ERR", function() {
wsocket.close(2999, "Close not in range 3000-4999")
});
test.done();
diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js
index 0786c295e76..aaaac8e113b 100644
--- a/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js
@@ -8,7 +8,7 @@ var isOpenCalled = false;
wsocket.addEventListener('open', test.step_func(function(evt) {
var reason = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123";
assert_equals(reason.length, 124);
- assert_throws("SYNTAX_ERR", function() {
+ assert_throws_dom("SYNTAX_ERR", function() {
wsocket.close(1000, reason)
});
test.done();
diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js
index 029b8d8af8e..66e8a7f6886 100644
--- a/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js
@@ -5,7 +5,7 @@ var test = async_test("Create Secure WebSocket - Close the Connection - close(on
var wsocket = CreateWebSocket(true, false, false);
wsocket.addEventListener('open', test.step_func(function(evt) {
- assert_throws("INVALID_ACCESS_ERR", function() {
+ assert_throws_dom("INVALID_ACCESS_ERR", function() {
wsocket.close("Close with only reason")
});
test.done();
diff --git a/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js b/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js
index b2f1ea9c3aa..fed8f519932 100644
--- a/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js
+++ b/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js
@@ -2,7 +2,7 @@
test(function() {
var wsocket = CreateWebSocket(false, false, false);
- assert_throws("INVALID_STATE_ERR", function() {
+ assert_throws_dom("INVALID_STATE_ERR", function() {
wsocket.send("Message to send")
});
}, "Send data on a WebSocket before connection is opened - INVALID_STATE_ERR is returned")
diff --git a/tests/wpt/web-platform-tests/websockets/close-invalid.any.js b/tests/wpt/web-platform-tests/websockets/close-invalid.any.js
index 8ac1da3f5de..32d6d5d3e29 100644
--- a/tests/wpt/web-platform-tests/websockets/close-invalid.any.js
+++ b/tests/wpt/web-platform-tests/websockets/close-invalid.any.js
@@ -11,7 +11,7 @@
[true, false].forEach(function(secure) {
test(function() {
var ws = CreateWebSocket(secure, false, false);
- assert_throws("InvalidAccessError", function() {
+ assert_throws_dom("InvalidAccessError", function() {
ws.close(t[0]);
});
wsocket.onerror = this.unreached_func();
diff --git a/tests/wpt/web-platform-tests/websockets/constructor/001.html b/tests/wpt/web-platform-tests/websockets/constructor/001.html
index 2a868bfa0d3..b82d941c778 100644
--- a/tests/wpt/web-platform-tests/websockets/constructor/001.html
+++ b/tests/wpt/web-platform-tests/websockets/constructor/001.html
@@ -8,6 +8,6 @@
<div id=log></div>
<script>
test(function() {
- assert_throws(new TypeError(), function(){new WebSocket()});
+ assert_throws_js(TypeError, function(){new WebSocket()});
});
</script>
diff --git a/tests/wpt/web-platform-tests/websockets/constructor/002.html b/tests/wpt/web-platform-tests/websockets/constructor/002.html
index 94015979b0a..59ac675cc58 100644
--- a/tests/wpt/web-platform-tests/websockets/constructor/002.html
+++ b/tests/wpt/web-platform-tests/websockets/constructor/002.html
@@ -7,14 +7,14 @@
<meta name="variant" content="?wss">
<div id=log></div>
<script>
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("/test")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("ws://foo bar.com/")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("wss://foo bar.com/")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("http://"+location.host+"/")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("mailto:example@example.org")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("about:blank")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket(SCHEME_DOMAIN_PORT+"/#")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket(SCHEME_DOMAIN_PORT+"/#test")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("?test")})});
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("#test")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("/test")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("ws://foo bar.com/")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("wss://foo bar.com/")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("http://"+location.host+"/")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("mailto:example@example.org")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("about:blank")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket(SCHEME_DOMAIN_PORT+"/#")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket(SCHEME_DOMAIN_PORT+"/#test")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("?test")})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("#test")})});
</script>
diff --git a/tests/wpt/web-platform-tests/websockets/constructor/004.html b/tests/wpt/web-platform-tests/websockets/constructor/004.html
index f358021541b..f0cd3418c88 100644
--- a/tests/wpt/web-platform-tests/websockets/constructor/004.html
+++ b/tests/wpt/web-platform-tests/websockets/constructor/004.html
@@ -9,7 +9,7 @@
<script>
// empty string
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
new WebSocket(SCHEME_DOMAIN_PORT + '/empty-message', "")
})
});
@@ -17,7 +17,7 @@ test(function() {
// chars below U+0020 except U+0000; U+0000 is tested in a separate test
for (var i = 1; i < 0x20; ++i) {
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
new WebSocket(SCHEME_DOMAIN_PORT + '/empty-message',
"a"+String.fromCharCode(i)+"b")
}, 'char code '+i);
@@ -26,7 +26,7 @@ for (var i = 1; i < 0x20; ++i) {
// some chars above U+007E
for (var i = 0x7F; i < 0x100; ++i) {
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
new WebSocket(SCHEME_DOMAIN_PORT + '/empty-message',
"a"+String.fromCharCode(i)+"b")
}, 'char code '+i);
diff --git a/tests/wpt/web-platform-tests/websockets/constructor/007.html b/tests/wpt/web-platform-tests/websockets/constructor/007.html
index 6f141a54186..4c8a7cd7f3c 100644
--- a/tests/wpt/web-platform-tests/websockets/constructor/007.html
+++ b/tests/wpt/web-platform-tests/websockets/constructor/007.html
@@ -8,7 +8,7 @@
<div id=log></div>
<script>
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
new WebSocket(SCHEME_DOMAIN_PORT + '/empty-message',
'a' + String.fromCharCode(0) + 'b')
})
diff --git a/tests/wpt/web-platform-tests/websockets/constructor/021.html b/tests/wpt/web-platform-tests/websockets/constructor/021.html
index 80156540f7a..209b262f985 100644
--- a/tests/wpt/web-platform-tests/websockets/constructor/021.html
+++ b/tests/wpt/web-platform-tests/websockets/constructor/021.html
@@ -7,5 +7,5 @@
<meta name="variant" content="?wss">
<div id=log></div>
<script>
-test(function() {assert_throws("SyntaxError", function(){new WebSocket("ws://certo2.oslo.osa/protocol_array",["foobar, foobar"])})});
+test(function() {assert_throws_dom("SyntaxError", function(){new WebSocket("ws://certo2.oslo.osa/protocol_array",["foobar, foobar"])})});
</script>
diff --git a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/005.html b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/005.html
index b3c2e932e6d..8f17deb3785 100644
--- a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/005.html
+++ b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/005.html
@@ -10,7 +10,7 @@
var constants = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
for (var i = 0; i < constants.length; ++i) {
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
Object.defineProperty(WebSocket.prototype, constants[i], {
get: function() { return 'foo'; }
});
diff --git a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/006.html b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/006.html
index 70219345647..0396687736a 100644
--- a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/006.html
+++ b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/constants/006.html
@@ -10,7 +10,7 @@
var constants = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
for (var i = 0; i < constants.length; ++i) {
test(function() {
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
Object.defineProperty(WebSocket.prototype, constants[i], {
set: function() { return 'foo'; }
});
diff --git a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/001.html b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/001.html
index 3a22420ad6c..829a4ed7610 100644
--- a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/001.html
+++ b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/001.html
@@ -9,7 +9,7 @@
<script>
test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/');
- assert_throws(new TypeError(), function(){ws.send()});
+ assert_throws_js(TypeError, function(){ws.send()});
});
</script>
diff --git a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/003.html b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/003.html
index 08aadbf4665..0077b402005 100644
--- a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/003.html
+++ b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/003.html
@@ -9,7 +9,7 @@
<script>
test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/');
- assert_throws("INVALID_STATE_ERR", function(){ws.send('a')});
+ assert_throws_dom("INVALID_STATE_ERR", function(){ws.send('a')});
});
</script>
diff --git a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/004.html b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/004.html
index af906b55333..f454f0cda59 100644
--- a/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/004.html
+++ b/tests/wpt/web-platform-tests/websockets/interfaces/WebSocket/send/004.html
@@ -10,16 +10,16 @@
<script>
test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/');
- assert_throws("INVALID_STATE_ERR", function(){ws.send('a\uDC00x')});
+ assert_throws_dom("INVALID_STATE_ERR", function(){ws.send('a\uDC00x')});
}, "lone low surrogate");
test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/');
- assert_throws("INVALID_STATE_ERR", function(){ws.send('a\uD800x')});
+ assert_throws_dom("INVALID_STATE_ERR", function(){ws.send('a\uD800x')});
}, "lone high surrogate");
test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/');
- assert_throws("INVALID_STATE_ERR", function(){ws.send('a\uDC00\uD800x')});
+ assert_throws_dom("INVALID_STATE_ERR", function(){ws.send('a\uDC00\uD800x')});
}, "surrogates in wrong order");
</script>
diff --git a/tests/wpt/web-platform-tests/websockets/stream-tentative/close.any.js b/tests/wpt/web-platform-tests/websockets/stream-tentative/close.any.js
index ddcdc2b2c8f..1442d821148 100644
--- a/tests/wpt/web-platform-tests/websockets/stream-tentative/close.any.js
+++ b/tests/wpt/web-platform-tests/websockets/stream-tentative/close.any.js
@@ -50,7 +50,7 @@ promise_test(async () => {
promise_test(async () => {
const wss = new WebSocketStream(ECHOURL);
await wss.connection;
- assert_throws(new TypeError(), () => wss.close(true),
+ assert_throws_js(TypeError, () => wss.close(true),
'close should throw a TypeError');
}, 'close(true) should throw a TypeError');
@@ -58,7 +58,7 @@ promise_test(async () => {
const wss = new WebSocketStream(ECHOURL);
await wss.connection;
const reason = '.'.repeat(124);
- assert_throws('SyntaxError', () => wss.close({ reason }),
+ assert_throws_dom('SyntaxError', () => wss.close({ reason }),
'close should throw a TypeError');
}, 'close() with an overlong reason should throw');
@@ -76,7 +76,7 @@ for (const invalidCode of [999, 1001, 2999, 5000]) {
promise_test(async () => {
const wss = new WebSocketStream(ECHOURL);
await wss.connection;
- assert_throws('InvalidAccessError', () => wss.close({ code: invalidCode }),
+ assert_throws_dom('InvalidAccessError', () => wss.close({ code: invalidCode }),
'close should throw a TypeError');
}, `close() with invalid code ${invalidCode} should throw`);
}
diff --git a/tests/wpt/web-platform-tests/websockets/stream-tentative/constructor.any.js b/tests/wpt/web-platform-tests/websockets/stream-tentative/constructor.any.js
index 12a24f25f2c..a5401b30bfc 100644
--- a/tests/wpt/web-platform-tests/websockets/stream-tentative/constructor.any.js
+++ b/tests/wpt/web-platform-tests/websockets/stream-tentative/constructor.any.js
@@ -3,23 +3,23 @@
// META: global=window,worker
test(() => {
- assert_throws(new TypeError(), () => new WebSocketStream(),
+ assert_throws_js(TypeError, () => new WebSocketStream(),
'constructor should throw');
}, 'constructing with no URL should throw');
test(() => {
- assert_throws(new SyntaxError(), () => new WebSocketStream('invalid:'),
- "constructor should throw");
+ assert_throws_dom("SyntaxError", () => new WebSocketStream('invalid:'),
+ "constructor should throw");
}, 'constructing with an invalid URL should throw');
test(() => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new WebSocketStream(`${BASEURL}/`, true),
"constructor should throw");
}, 'constructing with invalid options should throw');
test(() => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
() => new WebSocketStream(`${BASEURL}/`, {protocols: 'hi'}),
"constructor should throw");
}, 'protocols should be required to be a list');
diff --git a/tests/wpt/web-platform-tests/webstorage/missing_arguments.html b/tests/wpt/web-platform-tests/webstorage/missing_arguments.html
index 38c52cf6275..1c8a1a44815 100644
--- a/tests/wpt/web-platform-tests/webstorage/missing_arguments.html
+++ b/tests/wpt/web-platform-tests/webstorage/missing_arguments.html
@@ -21,7 +21,7 @@
];
tests.forEach(function(fun) {
test(function() {
- assert_throws(new TypeError(), fun);
+ assert_throws_js(TypeError, fun);
}, "Should throw TypeError for " + format_value(fun) + ".");
});
</script>
diff --git a/tests/wpt/web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.html b/tests/wpt/web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.html
index b547f3046d1..b55ace2fa21 100644
--- a/tests/wpt/web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.html
+++ b/tests/wpt/web-platform-tests/webstorage/storage_local_setitem_quotaexceedederr.html
@@ -17,7 +17,7 @@
var key = "name";
var val = "x".repeat(1024);
- assert_throws("QUOTA_EXCEEDED_ERR", function() {
+ assert_throws_dom("QUOTA_EXCEEDED_ERR", function() {
while (true) {
index++;
localStorage.setItem("" + key + index, "" + val + index);
diff --git a/tests/wpt/web-platform-tests/webstorage/storage_session_setitem_quotaexceedederr.html b/tests/wpt/web-platform-tests/webstorage/storage_session_setitem_quotaexceedederr.html
index 285a4bea2b5..7096c1610c7 100644
--- a/tests/wpt/web-platform-tests/webstorage/storage_session_setitem_quotaexceedederr.html
+++ b/tests/wpt/web-platform-tests/webstorage/storage_session_setitem_quotaexceedederr.html
@@ -17,7 +17,7 @@
var key = "name";
var val = "x".repeat(1024);
- assert_throws("QUOTA_EXCEEDED_ERR", function() {
+ assert_throws_dom("QUOTA_EXCEEDED_ERR", function() {
while (true) {
index++;
sessionStorage.setItem("" + key + index, "" + val + index);
diff --git a/tests/wpt/web-platform-tests/webstorage/storage_setitem.html b/tests/wpt/web-platform-tests/webstorage/storage_setitem.html
index fa38284fd01..be82df1ecdb 100644
--- a/tests/wpt/web-platform-tests/webstorage/storage_setitem.html
+++ b/tests/wpt/web-platform-tests/webstorage/storage_setitem.html
@@ -96,7 +96,7 @@
storage.clear();
storage.setItem("age", "10");
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
storage.setItem("age",
{ toString: function() { throw test_error; } });
});
@@ -111,7 +111,7 @@
storage.clear();
storage.setItem("age", "10");
- assert_throws(test_error, function() {
+ assert_throws_exactly(test_error, function() {
storage["age"] =
{ toString: function() { throw test_error; } };
});
diff --git a/tests/wpt/web-platform-tests/webusb/usbConnectionEvent.https.any.js b/tests/wpt/web-platform-tests/webusb/usbConnectionEvent.https.any.js
index 9d4f60abc48..349fd9b75f3 100644
--- a/tests/wpt/web-platform-tests/webusb/usbConnectionEvent.https.any.js
+++ b/tests/wpt/web-platform-tests/webusb/usbConnectionEvent.https.any.js
@@ -12,9 +12,9 @@ usb_test(() => getFakeDevice()
'Can construct a USBConnectionEvent with a device');
test(t => {
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
() => new USBConnectionEvent('connect', { device: null }));
- assert_throws(TypeError(),
+ assert_throws_js(TypeError,
() => new USBConnectionEvent('connect', {}));
}, 'Cannot construct a USBConnectionEvent without a device');
diff --git a/tests/wpt/web-platform-tests/webusb/usbInTransferResult.https.any.js b/tests/wpt/web-platform-tests/webusb/usbInTransferResult.https.any.js
index 4cdb58e467b..c8f65f1737a 100644
--- a/tests/wpt/web-platform-tests/webusb/usbInTransferResult.https.any.js
+++ b/tests/wpt/web-platform-tests/webusb/usbInTransferResult.https.any.js
@@ -20,9 +20,9 @@ test(t => {
}, 'Can construct a USBInTransferResult without a DataView');
test(t => {
- assert_throws(TypeError(), () => new USBInTransferResult('invalid_status'));
+ assert_throws_js(TypeError, () => new USBInTransferResult('invalid_status'));
}, 'Cannot construct USBInTransferResult with an invalid status');
test(t => {
- assert_throws(TypeError(), () => new USBInTransferResult());
+ assert_throws_js(TypeError, () => new USBInTransferResult());
}, 'Cannot construct USBInTransferResult without a status');
diff --git a/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferPacket.https.any.js b/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferPacket.https.any.js
index ee992f998b6..55543d11f8c 100644
--- a/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferPacket.https.any.js
+++ b/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferPacket.https.any.js
@@ -18,11 +18,11 @@ test(t => {
}, 'Can construct a USBIsochronousInTransferPacket without a DataView');
test(t => {
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new USBIsochronousInTransferPacket('invalid_status');
});
}, 'Cannot construct USBIsochronousInTransferPacket with an invalid status');
test(t => {
- assert_throws(TypeError(), () => new USBIsochronousInTransferPacket());
+ assert_throws_js(TypeError, () => new USBIsochronousInTransferPacket());
}, 'Cannot construct USBIsochronousInTransferPacket without a status');
diff --git a/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferResult.https.any.js b/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferResult.https.any.js
index 25c128a76cc..0aa57d00e6d 100644
--- a/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferResult.https.any.js
+++ b/tests/wpt/web-platform-tests/webusb/usbIsochronousInTransferResult.https.any.js
@@ -32,5 +32,5 @@ test(t => {
}, 'Can construct a USBIsochronousInTransferResult without a DataView');
test(t => {
- assert_throws(TypeError(), () => new USBIsochronousInTransferResult());
+ assert_throws_js(TypeError, () => new USBIsochronousInTransferResult());
}, 'Cannot construct a USBIsochronousInTransferResult without packets');
diff --git a/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferPacket.https.any.js b/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferPacket.https.any.js
index d99c8565194..2747a6fa0a4 100644
--- a/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferPacket.https.any.js
+++ b/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferPacket.https.any.js
@@ -11,11 +11,11 @@ test(t => {
}, 'Can construct USBIsochronousOutTransferPacket');
test(t => {
- assert_throws(TypeError(), () => {
+ assert_throws_js(TypeError, () => {
new USBIsochronousOutTransferPacket('invalid_status');
});
}, 'Cannot construct USBIsochronousOutTransferPacket with an invalid status');
test(t => {
- assert_throws(TypeError(), () => new USBIsochronousOutTransferPacket());
+ assert_throws_js(TypeError, () => new USBIsochronousOutTransferPacket());
}, 'Cannot construct USBIsochronousOutTransferPacket without a status');
diff --git a/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferResult.https.any.js b/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferResult.https.any.js
index 13b94322ed2..692420d9481 100644
--- a/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferResult.https.any.js
+++ b/tests/wpt/web-platform-tests/webusb/usbIsochronousOutTransferResult.https.any.js
@@ -15,5 +15,5 @@ test(t => {
}, 'Can construct a USBIsochronousOutTransferResult');
test(t => {
- assert_throws(TypeError(), () => new USBIsochronousOutTransferResult());
+ assert_throws_js(TypeError, () => new USBIsochronousOutTransferResult());
}, 'Cannot construct a USBIsochronousOutTransferResult without packets');
diff --git a/tests/wpt/web-platform-tests/webusb/usbOutTransferResult.https.any.js b/tests/wpt/web-platform-tests/webusb/usbOutTransferResult.https.any.js
index f880a43ea1c..200c0716eb2 100644
--- a/tests/wpt/web-platform-tests/webusb/usbOutTransferResult.https.any.js
+++ b/tests/wpt/web-platform-tests/webusb/usbOutTransferResult.https.any.js
@@ -11,9 +11,9 @@ test(t => {
}, 'Can construct USBOutTransferResult');
test(t => {
- assert_throws(TypeError(), () => new USBOutTransferResult('invalid_status'));
+ assert_throws_js(TypeError, () => new USBOutTransferResult('invalid_status'));
}, 'Cannot construct USBOutTransferResult with an invalid status');
test(t => {
- assert_throws(TypeError(), () => new USBOutTransferResult());
+ assert_throws_js(TypeError, () => new USBOutTransferResult());
}, 'Cannot construct USBOutTransferResult without a status');
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTCue/position.html b/tests/wpt/web-platform-tests/webvtt/api/VTTCue/position.html
index 4bbf54ea7b3..c0485e7a799 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTCue/position.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTCue/position.html
@@ -18,7 +18,7 @@ test(function(){
}
[-1, -100, -101, 101, 200, 201].forEach(function(invalid) {
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
cue.position = invalid;
});
});
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTCue/size.html b/tests/wpt/web-platform-tests/webvtt/api/VTTCue/size.html
index 26a26f0a8c0..fdb8059c72f 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTCue/size.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTCue/size.html
@@ -15,7 +15,7 @@ test(function(){
}
[-1, -100, -101, 101, 200, 201].forEach(function(invalid) {
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
cue.size = invalid;
});
});
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/constructor.html b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/constructor.html
index cddde0a0717..a427f4f7d63 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/constructor.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/constructor.html
@@ -24,18 +24,27 @@ test(function() {
assert_equals(region.scroll, "");
checkValues([-1, 101], "IndexSizeError");
- checkValues([-Infinity, Infinity, NaN], new TypeError);
+ checkValues([-Infinity, Infinity, NaN], TypeError);
+
+ function assert_throws_something(error, func) {
+ if (typeof error == "string") {
+ assert_throws_dom(error, func);
+ } else {
+ assert_throws_js(error, func);
+ }
+ }
+
function checkValues(invalidValues, exception) {
for (var value of invalidValues) {
- assert_throws(exception, function() { region.viewportAnchorX = value; });
+ assert_throws_something(exception, function() { region.viewportAnchorX = value; });
assert_equals(region.viewportAnchorX, 0);
- assert_throws(exception, function() { region.viewportAnchorY = value; });
+ assert_throws_something(exception, function() { region.viewportAnchorY = value; });
assert_equals(region.viewportAnchorY, 100);
- assert_throws(exception, function() { region.regionAnchorX = value; });
+ assert_throws_something(exception, function() { region.regionAnchorX = value; });
assert_equals(region.regionAnchorX, 0);
- assert_throws(exception, function() { region.regionAnchorY = value; });
+ assert_throws_something(exception, function() { region.regionAnchorY = value; });
assert_equals(region.regionAnchorY, 100);
- assert_throws(exception, function() { region.width = value; });
+ assert_throws_something(exception, function() { region.width = value; });
assert_equals(region.width, 100);
}
}
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorX.html b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorX.html
index acdb9ef239e..f7663366cbf 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorX.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorX.html
@@ -18,7 +18,7 @@ test(function() {
assert_equals(region.regionAnchorX, 1.5);
[-1, -100, -150, 101, 200, 250].forEach(function (invalid) {
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
region.regionAnchorX = invalid;
});
});
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorY.html b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorY.html
index 9e4728846c8..174ff678901 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorY.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/regionAnchorY.html
@@ -18,7 +18,7 @@ test(function() {
assert_equals(region.regionAnchorX, 1.5);
[-1, -100, -150, 101, 200, 250].forEach(function (invalid) {
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
region.regionAnchorY = invalid;
});
});
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorX.html b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorX.html
index 8adf7ba02a5..0786585d468 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorX.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorX.html
@@ -18,7 +18,7 @@ test(function() {
assert_equals(region.viewportAnchorX, 1.5);
[-1, -100, -150, 101, 200, 250].forEach(function (invalid) {
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
region.viewportAnchorX = invalid;
});
});
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorY.html b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorY.html
index cdbe793f667..de43567b627 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorY.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/viewportAnchorY.html
@@ -18,7 +18,7 @@ test(function() {
assert_equals(region.viewportAnchorY, 1.5);
[-1, -100, -150, 101, 200, 250].forEach(function (invalid) {
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
region.viewportAnchorY = invalid;
});
});
diff --git a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/width.html b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/width.html
index fdc663f86a7..97c1c739560 100644
--- a/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/width.html
+++ b/tests/wpt/web-platform-tests/webvtt/api/VTTRegion/width.html
@@ -18,7 +18,7 @@ test(function(){
assert_equals(region.width, 1.5);
[-1, -100, -150, 101, 200, 250].forEach(function (invalid) {
- assert_throws('IndexSizeError', function() {
+ assert_throws_dom('IndexSizeError', function() {
region.width = invalid;
});
});
diff --git a/tests/wpt/web-platform-tests/webxr/events_session_select.https.html b/tests/wpt/web-platform-tests/webxr/events_session_select.https.html
index 396d6b23939..bc501b69349 100644
--- a/tests/wpt/web-platform-tests/webxr/events_session_select.https.html
+++ b/tests/wpt/web-platform-tests/webxr/events_session_select.https.html
@@ -25,7 +25,7 @@ let testFunction = function(session, fakeDeviceController, t) {
t.step(() => {
// Frame is active but not an animation frame, so calling getPose is
// allowed while getViewerPose is not.
- assert_throws('InvalidStateError', () => frame.getViewerPose(currentReferenceSpace));
+ assert_throws_dom('InvalidStateError', () => frame.getViewerPose(currentReferenceSpace));
let pose = frame.getPose(xrViewerSpace, currentReferenceSpace);
assert_not_equals(pose, null);
assert_true(pose instanceof XRPose);
diff --git a/tests/wpt/web-platform-tests/webxr/xrDevice_requestSession_no_mode.https.html b/tests/wpt/web-platform-tests/webxr/xrDevice_requestSession_no_mode.https.html
index 5ef249c5818..9c1ebb7efd7 100644
--- a/tests/wpt/web-platform-tests/webxr/xrDevice_requestSession_no_mode.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrDevice_requestSession_no_mode.https.html
@@ -12,7 +12,7 @@
.then( (controller) => new Promise((resolve) => {
navigator.xr.test.simulateUserActivation( () => {
t.step_func(() => {
- assert_throws(new TypeError(), () => navigator.xr.requestSession())
+ assert_throws_js(TypeError, () => navigator.xr.requestSession())
})
resolve()
});
diff --git a/tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html b/tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html
index 2d706d24848..7c71f0af3dd 100644
--- a/tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html
@@ -32,8 +32,8 @@
t.step(() => {
// Attempting to call a method on the frame outside the callback that
// originally provided it should cause it to throw an exception.
- assert_throws('InvalidStateError', () => staleFrame.getViewerPose(currentReferenceSpace));
- assert_throws('InvalidStateError', () => staleFrame.getPose(currentViewerSpace, currentReferenceSpace));
+ assert_throws_dom('InvalidStateError', () => staleFrame.getViewerPose(currentReferenceSpace));
+ assert_throws_dom('InvalidStateError', () => staleFrame.getPose(currentViewerSpace, currentReferenceSpace));
});
// Test does not complete until the this function has executed.
diff --git a/tests/wpt/web-platform-tests/webxr/xrRigidTransform_constructor.https.html b/tests/wpt/web-platform-tests/webxr/xrRigidTransform_constructor.https.html
index 15a7f2b5771..5e055efc41b 100644
--- a/tests/wpt/web-platform-tests/webxr/xrRigidTransform_constructor.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrRigidTransform_constructor.https.html
@@ -96,12 +96,12 @@ let testFunction =
coordDict([1.1, 2.1, 3.1, 1.0]));
checkTransform(transform, "Created with dict");
- assert_throws(new TypeError(), () => new XRRigidTransform(
+ assert_throws_js(TypeError, () => new XRRigidTransform(
coordDict([1.0, 2.0, 3.0, 0.5]),
coordDict([1.1, 2.1, 3.1, 1.0])
), "Constructor should throw TypeError for non-1 position w values");
- assert_throws("InvalidStateError", () => new XRRigidTransform(
+ assert_throws_dom("InvalidStateError", () => new XRRigidTransform(
coordDict([1.0, 2.0, 3.0, 1.0]),
coordDict([0, 0, 0, 0])
), "Constructor should throw InvalidStateError for non-normalizeable orientation values");
diff --git a/tests/wpt/web-platform-tests/workers/SharedWorker-constructor.html b/tests/wpt/web-platform-tests/workers/SharedWorker-constructor.html
index 2bfe7d9b87a..5347891d418 100644
--- a/tests/wpt/web-platform-tests/workers/SharedWorker-constructor.html
+++ b/tests/wpt/web-platform-tests/workers/SharedWorker-constructor.html
@@ -5,14 +5,14 @@
<script>
test(() => {
- assert_throws(new Error(),
+ assert_throws_js(Error,
function() {
new SharedWorker({toString:function(){throw new Error()}}, "name") },
"toString exception not propagagted");
}, "Test toString exception propagated correctly.");
test(() => {
- assert_throws(new RangeError(),
+ assert_throws_js(RangeError,
function() {
var foo = {toString:function(){new Worker(foo)}}
new SharedWorker(foo, name); },
@@ -20,7 +20,7 @@ test(() => {
}, "Test recursive worker creation results in exception.");
test(() => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { new SharedWorker(); },
"Invoking SharedWorker constructor without arguments did not result in an exception.");
}, "Test SharedWorker creation without arguments results in exception.");
diff --git a/tests/wpt/web-platform-tests/workers/Worker-formdata.any.js b/tests/wpt/web-platform-tests/workers/Worker-formdata.any.js
index 3ee42d9f4b7..f14d4ff41a2 100644
--- a/tests/wpt/web-platform-tests/workers/Worker-formdata.any.js
+++ b/tests/wpt/web-platform-tests/workers/Worker-formdata.any.js
@@ -13,7 +13,7 @@ test(() => {
formData.append('key', blob);
formData.append('key', blob, 'filename');
- assert_throws("DataCloneError",
+ assert_throws_dom("DataCloneError",
function() { postMessage(formData) },
"Trying to clone formdata inside a postMessage results in an exception." );
},'Test FormData interface object');
diff --git a/tests/wpt/web-platform-tests/workers/Worker-multi-port.html b/tests/wpt/web-platform-tests/workers/Worker-multi-port.html
index 138f8f02d4e..725745b0ea4 100644
--- a/tests/wpt/web-platform-tests/workers/Worker-multi-port.html
+++ b/tests/wpt/web-platform-tests/workers/Worker-multi-port.html
@@ -38,7 +38,7 @@ async_test(function(t) {
test(() => {
var worker = new Worker("support/Worker-thread-multi-port.js");
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { worker.postMessage(); },
'Empty postMessage should throw exception.');
}, 'Test empty postMessage throws exception.');
@@ -46,7 +46,7 @@ test(() => {
test(() => {
var worker = new Worker("support/Worker-thread-multi-port.js");
var channel = new MessageChannel();
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { worker.postMessage("null port",
[channel.port1, null,
channel.port2]); },
@@ -56,7 +56,7 @@ test(() => {
test(() => {
var worker = new Worker("support/Worker-thread-multi-port.js")
var channel = new MessageChannel();
- assert_throws('DataCloneError',
+ assert_throws_dom('DataCloneError',
function() { worker.postMessage("notAPort",
[channel.port1, {},
channel.port2]); },
@@ -65,7 +65,7 @@ test(() => {
test(() => {
var worker = new Worker("support/Worker-thread-multi-port.js");
- assert_throws('DataCloneError',
+ assert_throws_dom('DataCloneError',
function() { worker.postMessage("notASequence", [{length: 3}]) },
'postMessage without sequence should throw exception.');
}, 'Test postMessage without sequence throws exception');
@@ -73,7 +73,7 @@ test(() => {
async_test(function(t) {
var worker = new Worker("support/Worker-thread-multi-port.js");
var channel = new MessageChannel();
- assert_throws('DataCloneError',
+ assert_throws_dom('DataCloneError',
function() { worker.postMessage("notAPort",
[channel.port1, {},
channel.port2]); },
diff --git a/tests/wpt/web-platform-tests/workers/Worker_cross_origin_security_err.htm b/tests/wpt/web-platform-tests/workers/Worker_cross_origin_security_err.htm
index 1a5e260c18b..8417adbefda 100644
--- a/tests/wpt/web-platform-tests/workers/Worker_cross_origin_security_err.htm
+++ b/tests/wpt/web-platform-tests/workers/Worker_cross_origin_security_err.htm
@@ -12,7 +12,7 @@ async_test(function(t) {
assert_true(e instanceof Event);
});
} catch (e) {
- assert_throws("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin Worker construction must be SecurityErrors");
+ assert_throws_dom("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin Worker construction must be SecurityErrors");
t.done();
}
}, "Cross-origin classic workers should fail to fetch");
@@ -24,7 +24,7 @@ async_test(function(t) {
assert_true(e instanceof Event);
});
} catch (e) {
- assert_throws("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin module Worker construction must be SecurityErrors");
+ assert_throws_dom("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin module Worker construction must be SecurityErrors");
t.done();
}
}, "Cross-origin module workers should fail to fetch");
diff --git a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/no-arguments-ctor.html b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/no-arguments-ctor.html
index eaee870db0e..c189e556019 100644
--- a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/no-arguments-ctor.html
+++ b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/no-arguments-ctor.html
@@ -10,7 +10,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
var worker = new SharedWorker();
});
});
diff --git a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/same-origin.html b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/same-origin.html
index 66747b22fbb..1fc76d5f5e4 100644
--- a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/same-origin.html
+++ b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/same-origin.html
@@ -20,13 +20,13 @@ function testSharedWorkerHelper(t, script) {
assert_true(e instanceof Event);
});
} catch (e) {
- assert_throws("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin SharedWorker construction must be SecurityErrors");
+ assert_throws_dom("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin SharedWorker construction must be SecurityErrors");
t.done();
}
}
test(function() {
- assert_throws("SecurityError", function() { new SharedWorker('unsupported:', ''); });
+ assert_throws_dom("SecurityError", function() { new SharedWorker('unsupported:', ''); });
}, "unsupported_scheme");
async_test(function() {
diff --git a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/undefined-arguments.html b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/undefined-arguments.html
index b9a3b3692c3..bc0a75bcfeb 100644
--- a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/undefined-arguments.html
+++ b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/undefined-arguments.html
@@ -14,7 +14,7 @@ onconnect = function(e) {
var worker = new SharedWorker(undefined, undefined);
worker.port.addEventListener('message', this.step_func(function(e) {
assert_equals(e.data[0], 'undefined', 'first arg');
- assert_equals(e.data[1], 'undefined', 'second arg');
+ assert_equals(e.data[1], '', 'second arg');
this.done();
}), false);
worker.port.start();
@@ -22,4 +22,4 @@ onconnect = function(e) {
</script>
<!--
*/
-//--> \ No newline at end of file
+//-->
diff --git a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/unresolvable-url.html b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/unresolvable-url.html
index 2ca3d93d3e8..c392d0e1f7d 100644
--- a/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/unresolvable-url.html
+++ b/tests/wpt/web-platform-tests/workers/constructors/SharedWorker/unresolvable-url.html
@@ -9,7 +9,7 @@
<div id="log"></div>
<script>
test(function() {
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
var worker = new SharedWorker('http://foo bar');
});
});
diff --git a/tests/wpt/web-platform-tests/workers/constructors/Worker/Worker-constructor.html b/tests/wpt/web-platform-tests/workers/constructors/Worker/Worker-constructor.html
index e073df76f36..524a0982a9e 100644
--- a/tests/wpt/web-platform-tests/workers/constructors/Worker/Worker-constructor.html
+++ b/tests/wpt/web-platform-tests/workers/constructors/Worker/Worker-constructor.html
@@ -5,7 +5,7 @@
<script>
test(() => {
- assert_throws(new Error(),
+ assert_throws_js(Error,
function() {
new Worker({toString:function(){throw new Error()}})},
'toString exception should be propagated');
@@ -22,7 +22,7 @@ test(() => {
}, 'Test recursive Worker creation.');
test(() => {
- assert_throws(new TypeError(),
+ assert_throws_js(TypeError,
function() { new Worker(); },
'invoking Worker constructor without arguments should result' +
'in an exception.')
@@ -37,7 +37,7 @@ async_test(t => {
}, 'Test Worker creation with empty script URL.');
test(() => {
- assert_throws(new SyntaxError(),
+ assert_throws_dom("SyntaxError",
function() { var worker = new Worker('http://invalid:123$'); },
'Invoking Worker constructor with invalid script URL should' +
'result in an exception.');
diff --git a/tests/wpt/web-platform-tests/workers/constructors/Worker/same-origin.html b/tests/wpt/web-platform-tests/workers/constructors/Worker/same-origin.html
index 6df5e92fda3..cdc36c17183 100644
--- a/tests/wpt/web-platform-tests/workers/constructors/Worker/same-origin.html
+++ b/tests/wpt/web-platform-tests/workers/constructors/Worker/same-origin.html
@@ -18,13 +18,13 @@ function testWorkerHelper(t, script) {
assert_true(e instanceof Event);
});
} catch (e) {
- assert_throws("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin Worker construction must be SecurityErrors");
+ assert_throws_dom("SecurityError", () => {throw e}, "DOMExceptions thrown on cross-origin Worker construction must be SecurityErrors");
t.done();
}
}
test(function() {
- assert_throws("SecurityError", function() { new Worker('unsupported:'); });
+ assert_throws_dom("SecurityError", function() { new Worker('unsupported:'); });
}, "unsupported_scheme");
async_test(function() {
diff --git a/tests/wpt/web-platform-tests/workers/importscripts_mime.any.js b/tests/wpt/web-platform-tests/workers/importscripts_mime.any.js
index 04c63a3a5f6..d7e215853f4 100644
--- a/tests/wpt/web-platform-tests/workers/importscripts_mime.any.js
+++ b/tests/wpt/web-platform-tests/workers/importscripts_mime.any.js
@@ -46,7 +46,7 @@ for (var test_case of test_cases) {
if (test_case[1]) {
assert_equals(undefined, importScripts(import_url));
} else {
- assert_throws("NetworkError", _ => { importScripts(import_url) })
+ assert_throws_dom("NetworkError", _ => { importScripts(import_url) })
}
}, "importScripts() requires scripty MIME types: " + test_case[0] + " is " + (test_case[1] ? "allowed" : "blocked") + ".");
}
diff --git a/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/002.worker.js b/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/002.worker.js
index 2cecbcb5352..1cacee5ccb5 100644
--- a/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/002.worker.js
+++ b/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/002.worker.js
@@ -2,7 +2,7 @@ importScripts("/resources/testharness.js");
test(function() {
var ran = false;
- assert_throws("SyntaxError", function() {
+ assert_throws_dom("SyntaxError", function() {
importScripts('data:text/javascript,ran=true','http://foo bar');
});
assert_false(ran, 'first argument to importScripts ran');
diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html
index 5e8b152195a..33eeea26189 100644
--- a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html
+++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html
@@ -49,12 +49,12 @@ promise_test(async () => {
test(() => {
const scriptURL = 'http://invalid:123$';
- assert_throws('SyntaxError', () => new Worker(scriptURL, { type: 'module' }));
+ assert_throws_dom('SyntaxError', () => new Worker(scriptURL, { type: 'module' }));
}, 'Worker construction for an invalid URL should throw an exception.');
test(() => {
const scriptURL = 'file:///static-import-worker.js';
- assert_throws('SecurityError', () => new Worker(scriptURL, { type: 'module' }));
+ assert_throws_dom('SecurityError', () => new Worker(scriptURL, { type: 'module' }));
}, 'Worker construction for a file URL should throw an exception.');
</script>
diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-meta.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-meta.html
index 4ed56e279f7..cff8e91488e 100644
--- a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-meta.html
+++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-meta.html
@@ -19,7 +19,7 @@ promise_test(() => {
}, 'Test import.meta.url on the top-level module script.');
promise_test(() => {
- const script_url = 'import-meta-url-worker.js';
+ const script_url = 'import-meta-url-export.js';
const worker = new Worker('resources/dynamic-import-given-url-worker.js',
{ type: 'module' });
worker.postMessage('./' + script_url);
@@ -35,7 +35,7 @@ promise_test(() => {
}, 'Test import.meta.url on the imported module script.');
promise_test(() => {
- const script_url = 'import-meta-url-worker.js';
+ const script_url = 'import-meta-url-export.js';
const worker = new Worker('resources/dynamic-import-given-url-worker.js',
{ type: 'module' });
worker.postMessage('./' + script_url);
diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-options-type.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-options-type.html
index 74523f4478b..bb37a18f2cc 100644
--- a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-options-type.html
+++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-options-type.html
@@ -25,8 +25,8 @@ promise_test(() => {
}, 'Test worker construction with the "module" worker type.');
test(() => {
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new Worker('resources/post-message-on-load-worker.js', { type: '' });
},
@@ -34,8 +34,8 @@ test(() => {
}, 'Test worker construction with an empty worker type.');
test(() => {
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new Worker('resources/post-message-on-load-worker.js',
{ type: 'unknown' });
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js
index 2ea88b80718..55102759352 100644
--- a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js
@@ -1,5 +1,21 @@
// This worker dynamically imports the script URL sent by postMessage(), and
// sends back an error name if the dynamic import fails.
-self.addEventListener('message', msg_event => {
- import(msg_event.data).catch(e => postMessage(e.name));
-});
+if ('DedicatedWorkerGlobalScope' in self &&
+ self instanceof DedicatedWorkerGlobalScope) {
+ self.onmessage = msg_event => {
+ import(msg_event.data)
+ .then(module => postMessage(module.meta_url))
+ .catch(e => postMessage(e.name));
+ };
+} else if (
+ 'SharedWorkerGlobalScope' in self &&
+ self instanceof SharedWorkerGlobalScope) {
+ self.onconnect = connect_event => {
+ const port = connect_event.ports[0];
+ port.onmessage = msg_event => {
+ import(msg_event.data)
+ .then(module => port.postMessage(module.meta_url))
+ .catch(e => port.postMessage(e.name));
+ };
+ };
+}
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-export.js b/tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-export.js
new file mode 100644
index 00000000000..5287b2e9e84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-export.js
@@ -0,0 +1 @@
+export const meta_url = import.meta.url;
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-worker.js
index 9d909778eda..7887836a6cc 100644
--- a/tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-worker.js
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/import-meta-url-worker.js
@@ -1 +1,10 @@
-postMessage(import.meta.url);
+if ('DedicatedWorkerGlobalScope' in self &&
+ self instanceof DedicatedWorkerGlobalScope) {
+ postMessage(import.meta.url);
+} else if (
+ 'SharedWorkerGlobalScope' in self &&
+ self instanceof SharedWorkerGlobalScope) {
+ self.onconnect = e => {
+ e.ports[0].postMessage(import.meta.url);
+ };
+}
diff --git a/tests/wpt/web-platform-tests/workers/modules/shared-worker-import-failure.html b/tests/wpt/web-platform-tests/workers/modules/shared-worker-import-failure.html
index 0e0b9b30631..718ea650ec7 100644
--- a/tests/wpt/web-platform-tests/workers/modules/shared-worker-import-failure.html
+++ b/tests/wpt/web-platform-tests/workers/modules/shared-worker-import-failure.html
@@ -20,14 +20,14 @@ promise_test(async () => {
test(() => {
const scriptURL = 'http://invalid:123$';
- assert_throws('SyntaxError',
- () => new SharedWorker(scriptURL, { type: 'module' }));
+ assert_throws_dom('SyntaxError',
+ () => new SharedWorker(scriptURL, { type: 'module' }));
}, 'SharedWorker construction for an invalid URL should throw an exception.');
test(() => {
const scriptURL = 'file:///static-import-worker.js';
- assert_throws('SecurityError',
- () => new SharedWorker(scriptURL, { type: 'module' }));
+ assert_throws_dom('SecurityError',
+ () => new SharedWorker(scriptURL, { type: 'module' }));
}, 'SharedWorker construction for a file URL should throw an exception.');
</script>
diff --git a/tests/wpt/web-platform-tests/workers/modules/shared-worker-import-meta.html b/tests/wpt/web-platform-tests/workers/modules/shared-worker-import-meta.html
new file mode 100644
index 00000000000..44cd9df9ee7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/workers/modules/shared-worker-import-meta.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<title>SharedWorker: import.meta</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+
+promise_test(() => {
+ const script_url = 'resources/import-meta-url-worker.js';
+ const worker = new SharedWorker(script_url, { type: 'module' });
+ return new Promise((resolve, reject) => {
+ worker.port.onmessage = resolve;
+ worker.onerror = (error) => reject(error && error.message);
+ })
+ .then(msg_event => assert_true(msg_event.data.endsWith(script_url)));
+}, 'Test import.meta.url on the top-level module script.');
+
+promise_test(() => {
+ const script_url = 'import-meta-url-export.js';
+ const worker = new SharedWorker(
+ 'resources/dynamic-import-given-url-worker.js',
+ { type: 'module' });
+ worker.port.postMessage('./' + script_url);
+ return new Promise((resolve, reject) => {
+ worker.port.onmessage = resolve;
+ worker.onerror = (error) => reject(error && error.message);
+ })
+ .then(msg_event => assert_true(msg_event.data.endsWith(script_url)));
+}, 'Test import.meta.url on the imported module script.');
+
+promise_test(() => {
+ const script_url = 'import-meta-url-export.js';
+ const worker = new SharedWorker(
+ 'resources/dynamic-import-given-url-worker.js',
+ { type: 'module' });
+ worker.port.postMessage('./' + script_url);
+
+ return new Promise((resolve, reject) => {
+ worker.port.onmessage = resolve;
+ worker.onerror = (error) => reject(error && error.message);
+ })
+ .then(msg_event => assert_true(msg_event.data.endsWith(script_url)))
+ .then(() => {
+ worker.port.postMessage('./' + script_url + '#1');
+ return new Promise(resolve => worker.port.onmessage = resolve);
+ })
+ .then(msg_event => assert_true(msg_event.data.endsWith(script_url)));
+}, 'Test import.meta.url on the imported module script with a fragment.');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/workers/modules/shared-worker-options-type.html b/tests/wpt/web-platform-tests/workers/modules/shared-worker-options-type.html
index 25b793c631d..fb46ab5be7e 100644
--- a/tests/wpt/web-platform-tests/workers/modules/shared-worker-options-type.html
+++ b/tests/wpt/web-platform-tests/workers/modules/shared-worker-options-type.html
@@ -25,8 +25,8 @@ promise_test(() => {
}, 'Test worker construction with the "module" worker type.');
test(() => {
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new SharedWorker('resources/post-message-on-load-worker.js',
{type : ''});
@@ -35,8 +35,8 @@ test(() => {
}, 'Test worker construction with an empty worker type.');
test(() => {
- assert_throws(
- new TypeError(),
+ assert_throws_js(
+ TypeError,
() => {
new SharedWorker('resources/post-message-on-load-worker.js',
{type : 'unknown'});
diff --git a/tests/wpt/web-platform-tests/workers/postMessage_clone_port_error.htm b/tests/wpt/web-platform-tests/workers/postMessage_clone_port_error.htm
index 30012962d86..3558987476b 100644
--- a/tests/wpt/web-platform-tests/workers/postMessage_clone_port_error.htm
+++ b/tests/wpt/web-platform-tests/workers/postMessage_clone_port_error.htm
@@ -7,7 +7,7 @@
test(function() {
var channel = new MessageChannel();
channel.port1.start();
- assert_throws("DataCloneError", function() {
+ assert_throws_dom("DataCloneError", function() {
channel.port1.postMessage("ports", [channel.port1]);
});
});
diff --git a/tests/wpt/web-platform-tests/workers/postMessage_ports_readonly_array.htm b/tests/wpt/web-platform-tests/workers/postMessage_ports_readonly_array.htm
index 0645ea7ef5f..bd833ede936 100644
--- a/tests/wpt/web-platform-tests/workers/postMessage_ports_readonly_array.htm
+++ b/tests/wpt/web-platform-tests/workers/postMessage_ports_readonly_array.htm
@@ -11,7 +11,7 @@ async_test(function(t) {
targetPort.start();
targetPort.addEventListener("message", t.step_func_done(function(e) {
var channel3 = new MessageChannel();
- assert_throws(new TypeError(), () => {
+ assert_throws_js(TypeError, () => {
e.ports.push(channel3.port1);
}, "ports is a frozen object");
assert_equals(e.ports.length, 1, "ports is a read only array with length == 1.");
diff --git a/tests/wpt/web-platform-tests/workers/support/ImportScriptsNosniffErr.js b/tests/wpt/web-platform-tests/workers/support/ImportScriptsNosniffErr.js
index fefbfc73673..22dc9c1ba57 100644
--- a/tests/wpt/web-platform-tests/workers/support/ImportScriptsNosniffErr.js
+++ b/tests/wpt/web-platform-tests/workers/support/ImportScriptsNosniffErr.js
@@ -1,7 +1,7 @@
importScripts('/resources/testharness.js');
test(t => {
- assert_throws('NetworkError', () => {
+ assert_throws_dom('NetworkError', () => {
importScripts("nosiniff-error-worker.py");
});
}, "importScripts throws on 'nosniff' violation");
diff --git a/tests/wpt/web-platform-tests/wpt b/tests/wpt/web-platform-tests/wpt
index a24bc83a919..37ab5409ec7 100755
--- a/tests/wpt/web-platform-tests/wpt
+++ b/tests/wpt/web-platform-tests/wpt
@@ -2,4 +2,11 @@
if __name__ == "__main__":
from tools.wpt import wpt
- wpt.main()
+ from sys import version_info, argv, exit
+ args, extra = wpt.parse_args(argv[1:])
+
+ if args.py3 and version_info.major < 3:
+ from subprocess import call
+ exit(call(['python3', argv[0]] + [args.command] + extra))
+ else:
+ wpt.main()
diff --git a/tests/wpt/web-platform-tests/x-frame-options/deny.sub.html b/tests/wpt/web-platform-tests/x-frame-options/deny.sub.html
index 626f2043f32..dd8afe8079a 100644
--- a/tests/wpt/web-platform-tests/x-frame-options/deny.sub.html
+++ b/tests/wpt/web-platform-tests/x-frame-options/deny.sub.html
@@ -31,4 +31,31 @@
document.body.appendChild(i);
}, "`XFO: DENY` blocks cross-origin framing.");
+
+ async_test(t => {
+ var i = document.createElement('iframe');
+ i.src = "./support/xfo.py?value=DENY&csp_value=default-src%20'self'";
+
+ assert_no_message_from(i, t);
+
+ i.onload = t.step_func_done(_ => {
+ assert_equals(i.contentDocument, null);
+ i.remove();
+ });
+
+ document.body.appendChild(i);
+ }, "`XFO: DENY` blocks framing when CSP is present without a frame-ancestors directive.");
+
+ async_test(t => {
+ var i = document.createElement('iframe');
+ i.src = "./support/xfo.py?value=DENY&csp_value=frame-ancestors%20'self'";
+
+ wait_for_message_from(i, t)
+ .then(t.step_func_done(e => {
+ assert_equals(e.data, "Loaded");
+ i.remove();
+ }));
+
+ document.body.appendChild(i);
+ }, "`XFO: DENY` does not blocks framing when CSP is present with a frame-ancestors directive.");
</script>
diff --git a/tests/wpt/web-platform-tests/x-frame-options/support/xfo.py b/tests/wpt/web-platform-tests/x-frame-options/support/xfo.py
index e8d8c4eafbc..619cf553e46 100644
--- a/tests/wpt/web-platform-tests/x-frame-options/support/xfo.py
+++ b/tests/wpt/web-platform-tests/x-frame-options/support/xfo.py
@@ -2,7 +2,10 @@ def main(request, response):
headers = [("Content-Type", "text/html"), ("X-Frame-Options", request.GET.first("value"))]
if "value2" in request.GET:
- headers.append(("X-Frame-Options", request.GET.first("value2")))
+ headers.append(("X-Frame-Options", request.GET.first("value2")))
+
+ if "csp_value" in request.GET:
+ headers.append(("Content-Security-Policy", request.GET.first("csp_value")))
body = """<!DOCTYPE html>
<html>
@@ -16,5 +19,3 @@ def main(request, response):
</html>
"""
return (headers, body)
-
-
diff --git a/tests/wpt/web-platform-tests/xhr/FormData-append.html b/tests/wpt/web-platform-tests/xhr/FormData-append.html
index a10244fa23d..c64b93cbc7e 100644
--- a/tests/wpt/web-platform-tests/xhr/FormData-append.html
+++ b/tests/wpt/web-platform-tests/xhr/FormData-append.html
@@ -81,11 +81,11 @@
}, 'testFormDataAppendToFormNull2');
test(function() {
var fd = new FormData(document.getElementById("form"));
- assert_throws(new TypeError(), () => {fd.append('name', "string", 'filename')});
+ assert_throws_js(TypeError, () => {fd.append('name', "string", 'filename')});
}, 'testFormDataAppendToFormString');
test(function() {
var fd = new FormData(document.getElementById("form"));
- assert_throws(new TypeError(), () => {fd.append('name', new URLSearchParams(), 'filename')});
+ assert_throws_js(TypeError, () => {fd.append('name', new URLSearchParams(), 'filename')});
}, 'testFormDataAppendToFormWrongPlatformObject');
test(function() {
var before = new Date(new Date().getTime() - 2000); // two seconds ago, in case there's clock drift
diff --git a/tests/wpt/web-platform-tests/xhr/XMLHttpRequest-withCredentials.any.js b/tests/wpt/web-platform-tests/xhr/XMLHttpRequest-withCredentials.any.js
index 96e95c90faf..27ffa70d5b9 100644
--- a/tests/wpt/web-platform-tests/xhr/XMLHttpRequest-withCredentials.any.js
+++ b/tests/wpt/web-platform-tests/xhr/XMLHttpRequest-withCredentials.any.js
@@ -23,9 +23,9 @@ async_test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000")
client.send()
- assert_throws("InvalidStateError", function() { client.withCredentials = true })
+ assert_throws_dom("InvalidStateError", function() { client.withCredentials = true })
client.onreadystatechange = this.step_func(function() {
- assert_throws("InvalidStateError", function() { client.withCredentials = true })
+ assert_throws_dom("InvalidStateError", function() { client.withCredentials = true })
if (client.readyState === 4) {
this.done()
}
@@ -36,5 +36,5 @@ test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000", false)
client.send();
- assert_throws("InvalidStateError", function() { client.withCredentials = true })
+ assert_throws_dom("InvalidStateError", function() { client.withCredentials = true })
}, "setting withCredentials when in DONE state (synchronous)")
diff --git a/tests/wpt/web-platform-tests/xhr/access-control-basic-denied.htm b/tests/wpt/web-platform-tests/xhr/access-control-basic-denied.htm
index 535762d0eda..970e09d0f57 100644
--- a/tests/wpt/web-platform-tests/xhr/access-control-basic-denied.htm
+++ b/tests/wpt/web-platform-tests/xhr/access-control-basic-denied.htm
@@ -22,7 +22,7 @@
const xhr = new XMLHttpRequest;
xhr.open("GET", get_host_info().HTTP_REMOTE_ORIGIN + path, false);
- assert_throws("NetworkError", () => xhr.send());
+ assert_throws_dom("NetworkError", () => xhr.send());
assert_equals(xhr.status, 0);
}, "Cross-origin request denied");
</script>
diff --git a/tests/wpt/web-platform-tests/xhr/access-control-basic-get-fail-non-simple.htm b/tests/wpt/web-platform-tests/xhr/access-control-basic-get-fail-non-simple.htm
index a4fe23460d1..97370bd6502 100644
--- a/tests/wpt/web-platform-tests/xhr/access-control-basic-get-fail-non-simple.htm
+++ b/tests/wpt/web-platform-tests/xhr/access-control-basic-get-fail-non-simple.htm
@@ -18,7 +18,7 @@
xhr.setRequestHeader("x-test", "foobar");
// This fails because the server-side script is not prepared for an OPTIONS request
- assert_throws("NetworkError", () => xhr.send());
+ assert_throws_dom("NetworkError", () => xhr.send());
assert_equals(xhr.status, 0);
}, "Preflighted cross-origin request denied");
</script>
diff --git a/tests/wpt/web-platform-tests/xhr/access-control-basic-non-cors-safelisted-content-type.htm b/tests/wpt/web-platform-tests/xhr/access-control-basic-non-cors-safelisted-content-type.htm
index 062f8b0bb5b..0e0e971fd4b 100644
--- a/tests/wpt/web-platform-tests/xhr/access-control-basic-non-cors-safelisted-content-type.htm
+++ b/tests/wpt/web-platform-tests/xhr/access-control-basic-non-cors-safelisted-content-type.htm
@@ -22,7 +22,7 @@
"/xhr/resources/access-control-basic-put-allow.py", false);
xhr.setRequestHeader("Content-Type", "application/xml");
- assert_throws("NetworkError", () => xhr.send("FAIL: PUT data received"));
+ assert_throws_dom("NetworkError", () => xhr.send("FAIL: PUT data received"));
assert_equals(xhr.status, 0, "Cross-domain access was denied in 'send'.");
}, "Deny cross-origin request with non-CORS-safelisted content type");
</script>
diff --git a/tests/wpt/web-platform-tests/xhr/access-control-basic-post-with-non-cors-safelisted-content-type.htm b/tests/wpt/web-platform-tests/xhr/access-control-basic-post-with-non-cors-safelisted-content-type.htm
index 0a6df932aa4..f63e6bc924e 100644
--- a/tests/wpt/web-platform-tests/xhr/access-control-basic-post-with-non-cors-safelisted-content-type.htm
+++ b/tests/wpt/web-platform-tests/xhr/access-control-basic-post-with-non-cors-safelisted-content-type.htm
@@ -29,7 +29,7 @@
xhr.setRequestHeader("Content-Type", "application/xml");
- assert_throws("NetworkError", () => xhr.send());
+ assert_throws_dom("NetworkError", () => xhr.send());
assert_equals(xhr.status, 0, "Cross-domain access was denied in 'send'.");
}, "CORS request with non-safelisted content type sends preflight and fails");
</script>
diff --git a/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-header-denied.htm b/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-header-denied.htm
index 7948c18a2ef..8697f1ede95 100644
--- a/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-header-denied.htm
+++ b/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-header-denied.htm
@@ -22,7 +22,7 @@ test(() => {
xhr.open("GET", url + "&command=header", false);
xhr.setRequestHeader("x-test", "foo");
- assert_throws("NetworkError", () => xhr.send());
+ assert_throws_dom("NetworkError", () => xhr.send());
xhr = new XMLHttpRequest;
xhr.open("GET", url + "&command=complete", false);
diff --git a/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-method-denied.htm b/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-method-denied.htm
index a54c308d9f1..0ca6c5cdf4a 100644
--- a/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-method-denied.htm
+++ b/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-method-denied.htm
@@ -21,7 +21,7 @@ test(() => {
xhr = new XMLHttpRequest;
xhr.open("DELETE", url + "&command=method", false);
- assert_throws("NetworkError", () => xhr.send());
+ assert_throws_dom("NetworkError", () => xhr.send());
xhr = new XMLHttpRequest;
xhr.open("GET", url + "&command=complete", false);
diff --git a/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-not-supported.htm b/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-not-supported.htm
index bb08296304f..f5df4a2d4b5 100644
--- a/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-not-supported.htm
+++ b/tests/wpt/web-platform-tests/xhr/access-control-preflight-sync-not-supported.htm
@@ -21,7 +21,7 @@ test(() => {
xhr = new XMLHttpRequest;
xhr.open("PUT", url, false);
- assert_throws("NetworkError", () => xhr.send(""));
+ assert_throws_dom("NetworkError", () => xhr.send(""));
xhr = new XMLHttpRequest;
xhr.open("GET", url + "&command=complete", false);
diff --git a/tests/wpt/web-platform-tests/xhr/formdata-blob.htm b/tests/wpt/web-platform-tests/xhr/formdata-blob.htm
index 5efef7b615b..92cee55cd2f 100644
--- a/tests/wpt/web-platform-tests/xhr/formdata-blob.htm
+++ b/tests/wpt/web-platform-tests/xhr/formdata-blob.htm
@@ -38,7 +38,7 @@
// If 3rd argument is given and 2nd is not a Blob, formdata.append() should throw
var test = async_test('formdata.append() should throw if value is string and file name is given'); // needs to be async just because the others above are
test.step(function(){
- assert_throws(new TypeError(), function(){
+ assert_throws_js(TypeError, function(){
create_formdata('a', 'b', 'c');
});
});
diff --git a/tests/wpt/web-platform-tests/xhr/formdata-set.htm b/tests/wpt/web-platform-tests/xhr/formdata-set.htm
index ee43e1569f1..d46e44a916f 100644
--- a/tests/wpt/web-platform-tests/xhr/formdata-set.htm
+++ b/tests/wpt/web-platform-tests/xhr/formdata-set.htm
@@ -81,11 +81,11 @@
}, 'testFormDataSetToFormNull2');
test(function() {
var fd = new FormData(document.getElementById("form"));
- assert_throws(new TypeError(), () => {fd.set('name', "string", 'filename')});
+ assert_throws_js(TypeError, () => {fd.set('name', "string", 'filename')});
}, 'testFormDataSetToFormString');
test(function() {
var fd = new FormData(document.getElementById("form"));
- assert_throws(new TypeError(), () => {fd.set('name', new URLSearchParams(), 'filename')});
+ assert_throws_js(TypeError, () => {fd.set('name', new URLSearchParams(), 'filename')});
}, 'testFormDataSetToFormWrongPlatformObject');
test(function() {
var fd = new FormData();
diff --git a/tests/wpt/web-platform-tests/xhr/formdata.htm b/tests/wpt/web-platform-tests/xhr/formdata.htm
index 699c11ab783..675203cb1af 100644
--- a/tests/wpt/web-platform-tests/xhr/formdata.htm
+++ b/tests/wpt/web-platform-tests/xhr/formdata.htm
@@ -39,8 +39,8 @@
}
test(() => {
- assert_throws(new TypeError(), () => { new FormData(null); });
- assert_throws(new TypeError(), () => { new FormData("string"); });
+ assert_throws_js(TypeError, () => { new FormData(null); });
+ assert_throws_js(TypeError, () => { new FormData("string"); });
}, "Constructors should throw a type error");
do_test("empty formdata", new FormData(), '\n');
@@ -72,7 +72,7 @@
let counter = 0;
form.addEventListener('formdata', e => {
++counter;
- assert_throws('InvalidStateError', () => { new FormData(e.target) });
+ assert_throws_dom('InvalidStateError', () => { new FormData(e.target) });
});
new FormData(form);
assert_equals(counter, 1);
diff --git a/tests/wpt/web-platform-tests/xhr/headers-normalize-response.htm b/tests/wpt/web-platform-tests/xhr/headers-normalize-response.htm
index 84f2fc85821..3d472f688cf 100644
--- a/tests/wpt/web-platform-tests/xhr/headers-normalize-response.htm
+++ b/tests/wpt/web-platform-tests/xhr/headers-normalize-response.htm
@@ -9,7 +9,7 @@ function error(val) {
test(() => {
const client = new XMLHttpRequest();
client.open("GET", "resources/parse-headers.py?my-custom-header="+encodeURIComponent(val), false);
- assert_throws("NetworkError", () => client.send());
+ assert_throws_dom("NetworkError", () => client.send());
}, "Header value: " + val.replace("\0", "\\0"));
}
diff --git a/tests/wpt/web-platform-tests/xhr/loadstart-and-state.html b/tests/wpt/web-platform-tests/xhr/loadstart-and-state.html
index 460b2bfc990..8b344a58f81 100644
--- a/tests/wpt/web-platform-tests/xhr/loadstart-and-state.html
+++ b/tests/wpt/web-platform-tests/xhr/loadstart-and-state.html
@@ -7,9 +7,9 @@
async_test(t => {
const client = new XMLHttpRequest
client.onloadstart = t.step_func(() => {
- assert_throws("InvalidStateError", () => client.setRequestHeader("General", "Organa"))
- assert_throws("InvalidStateError", () => client.withCredentials = true)
- assert_throws("InvalidStateError", () => client.send())
+ assert_throws_dom("InvalidStateError", () => client.setRequestHeader("General", "Organa"))
+ assert_throws_dom("InvalidStateError", () => client.withCredentials = true)
+ assert_throws_dom("InvalidStateError", () => client.send())
client.onloadstart = null
client.open("GET", "data:,BB-8")
client.send()
diff --git a/tests/wpt/web-platform-tests/xhr/open-method-bogus.htm b/tests/wpt/web-platform-tests/xhr/open-method-bogus.htm
index 263e7b6db7e..13bb18bf5c4 100644
--- a/tests/wpt/web-platform-tests/xhr/open-method-bogus.htm
+++ b/tests/wpt/web-platform-tests/xhr/open-method-bogus.htm
@@ -12,7 +12,7 @@
function method(method) {
test(function() {
var client = new XMLHttpRequest()
- assert_throws("SyntaxError", function() { client.open(method, "...") })
+ assert_throws_dom("SyntaxError", function() { client.open(method, "...") })
}, document.title + " (" + method + ")")
}
method("")
diff --git a/tests/wpt/web-platform-tests/xhr/open-method-insecure.htm b/tests/wpt/web-platform-tests/xhr/open-method-insecure.htm
index 1a77ff3ec79..a6bf4422481 100644
--- a/tests/wpt/web-platform-tests/xhr/open-method-insecure.htm
+++ b/tests/wpt/web-platform-tests/xhr/open-method-insecure.htm
@@ -12,7 +12,7 @@
function method(method) {
test(function() {
var client = new XMLHttpRequest()
- assert_throws("SecurityError", function() { client.open(method, "...") })
+ assert_throws_dom("SecurityError", function() { client.open(method, "...") })
}, document.title + " (" + method + ")")
}
method("track")
diff --git a/tests/wpt/web-platform-tests/xhr/open-method-responsetype-set-sync.htm b/tests/wpt/web-platform-tests/xhr/open-method-responsetype-set-sync.htm
index 0b4d814041c..7858c91409e 100644
--- a/tests/wpt/web-platform-tests/xhr/open-method-responsetype-set-sync.htm
+++ b/tests/wpt/web-platform-tests/xhr/open-method-responsetype-set-sync.htm
@@ -19,7 +19,7 @@
assert_unreached('No events should fire here')
})
client.responseType = type
- assert_throws("InvalidAccessError", function() { client.open('GET', "...", false) })
+ assert_throws_dom("InvalidAccessError", function() { client.open('GET', "...", false) })
}, document.title + " (" + type + ")")
}
request("arraybuffer")
diff --git a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-2.htm b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-2.htm
index ed4ba01576b..fdd91016db8 100644
--- a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-2.htm
+++ b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-2.htm
@@ -13,7 +13,7 @@
test(function() {
var client = new self[0].XMLHttpRequest()
document.body.removeChild(document.getElementsByTagName("iframe")[0])
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
client.open("GET", "folder.txt")
}, "open() when associated document's IFRAME is removed")
})
diff --git a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-3.htm b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-3.htm
index 344434b0e7c..cfce8310dc4 100644
--- a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-3.htm
+++ b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-3.htm
@@ -13,7 +13,7 @@
var client = new self[0].XMLHttpRequest()
client.open("GET", "folder.txt")
document.body.removeChild(document.getElementsByTagName("iframe")[0])
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
client.send(null)
}, "send() when associated document's IFRAME is removed")
})
diff --git a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-5.htm b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-5.htm
index a27d2b366c0..40a3429fbb4 100644
--- a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-5.htm
+++ b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-5.htm
@@ -19,7 +19,7 @@
count++
self[0].location.reload()
} else if(1 == count) {
- assert_throws("InvalidStateError", function() { client.open("GET", "...") })
+ assert_throws_dom("InvalidStateError", function() { client.open("GET", "...") })
test.done()
}
})
diff --git a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-6.htm b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-6.htm
index 99279639921..d834a048a51 100644
--- a/tests/wpt/web-platform-tests/xhr/open-url-multi-window-6.htm
+++ b/tests/wpt/web-platform-tests/xhr/open-url-multi-window-6.htm
@@ -31,7 +31,7 @@
}
doc.body.appendChild(ifr);
} else if(1 == count) {
- assert_throws("InvalidStateError", function() { client.open("GET", "...") })
+ assert_throws_dom("InvalidStateError", function() { client.open("GET", "...") })
test.done()
}
})
diff --git a/tests/wpt/web-platform-tests/xhr/overridemimetype-done-state.any.js b/tests/wpt/web-platform-tests/xhr/overridemimetype-done-state.any.js
index bdf49e1ca52..5e704924365 100644
--- a/tests/wpt/web-platform-tests/xhr/overridemimetype-done-state.any.js
+++ b/tests/wpt/web-platform-tests/xhr/overridemimetype-done-state.any.js
@@ -9,7 +9,7 @@ client.onreadystatechange = test.step_func( function() {
if (client.readyState !== 4) return;
var text = client.responseText;
assert_not_equals(text, "");
- assert_throws("InvalidStateError", function() { client.overrideMimeType('application/xml;charset=Shift-JIS'); });
+ assert_throws_dom("InvalidStateError", function() { client.overrideMimeType('application/xml;charset=Shift-JIS'); });
if (GLOBAL.isWindow()) {
assert_equals(client.responseXML, null);
}
diff --git a/tests/wpt/web-platform-tests/xhr/overridemimetype-loading-state.htm b/tests/wpt/web-platform-tests/xhr/overridemimetype-loading-state.htm
index cce3fa49ef7..06e4d5fec1e 100644
--- a/tests/wpt/web-platform-tests/xhr/overridemimetype-loading-state.htm
+++ b/tests/wpt/web-platform-tests/xhr/overridemimetype-loading-state.htm
@@ -15,7 +15,7 @@
var client = new XMLHttpRequest();
client.onreadystatechange = test.step_func(function() {
if (client.readyState === 3){
- assert_throws("InvalidStateError", function(){
+ assert_throws_dom("InvalidStateError", function(){
client.overrideMimeType('application/xml;charset=Shift-JIS');
});
}else if(client.readyState===4){
diff --git a/tests/wpt/web-platform-tests/xhr/progressevent-interface.html b/tests/wpt/web-platform-tests/xhr/progressevent-interface.html
index 850d1b23dcf..7552ff73d3f 100644
--- a/tests/wpt/web-platform-tests/xhr/progressevent-interface.html
+++ b/tests/wpt/web-platform-tests/xhr/progressevent-interface.html
@@ -14,7 +14,7 @@ test(function() {
assert_equals(desc.writable, false)
assert_equals(desc.enumerable, false)
assert_equals(desc.configurable, false)
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
"use strict";
delete ProgressEvent.prototype;
})
@@ -31,7 +31,7 @@ attributes.forEach(function(a) {
var desc = Object.getOwnPropertyDescriptor(ProgressEvent.prototype, a[1])
assert_equals(desc.enumerable, true)
assert_equals(desc.configurable, true)
- assert_throws(new TypeError(), function() {
+ assert_throws_js(TypeError, function() {
ProgressEvent.prototype[a[1]]
})
})
diff --git a/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-2.htm b/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-2.htm
index 073268c21c7..cd9f0c6bb70 100644
--- a/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-2.htm
+++ b/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-2.htm
@@ -11,7 +11,7 @@
document.domain = document.domain.replace(/^\w+\./, "");
var client = new XMLHttpRequest();
client.open("GET", location.protocol + "//" + document.domain + location.pathname.replace(/[^\/]*$/, "") + "status.py?content=hello3", false);
- assert_throws("NetworkError", function() {
+ assert_throws_dom("NetworkError", function() {
client.send(null);
});
}, "loading documents from the origin document.domain was set to should throw");
diff --git a/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-helper.js b/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-helper.js
index f5c762b042b..0c239cfdbcd 100644
--- a/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-helper.js
+++ b/tests/wpt/web-platform-tests/xhr/resources/send-after-setting-document-domain-window-helper.js
@@ -4,10 +4,13 @@ function assert_equals(value, expected) {
}
}
-function assert_throws(expected_exc, func) {
+function assert_throws_dom(expected_exc, func) {
try {
func.call(this);
} catch(e) {
+ if (e.constructor.name != "DOMException") {
+ throw `Exception ${e.constructor.name || "unknown"} that was not a DOMException was thrown`;
+ }
var actual = e.name || e.type;
if (actual != expected_exc) {
throw "Got wrong exception.\nExpected '" + expected_exc + "',\ngot '" + actual + "'.";
diff --git a/tests/wpt/web-platform-tests/xhr/responsetype.any.js b/tests/wpt/web-platform-tests/xhr/responsetype.any.js
index 88bd9189ebe..444c3e3d169 100644
--- a/tests/wpt/web-platform-tests/xhr/responsetype.any.js
+++ b/tests/wpt/web-platform-tests/xhr/responsetype.any.js
@@ -69,7 +69,7 @@ types.forEach(function(type) {
if (isIgnoredType(type)) {
xhr.responseType = type;
} else {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
xhr.responseType = type;
});
}
@@ -90,7 +90,7 @@ types.forEach(function(type) {
if (isIgnoredType(type)) {
xhr.responseType = type;
} else {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
xhr.responseType = type;
});
}
@@ -112,7 +112,7 @@ types.forEach(function(type) {
xhr.responseType = type;
assert_equals(xhr.responseType, expectedType(type));
} else {
- assert_throws("InvalidAccessError", function() {
+ assert_throws_dom("InvalidAccessError", function() {
xhr.responseType = type;
});
}
@@ -126,7 +126,7 @@ types.forEach(function(type) {
if (isIgnoredType(type)) {
xhr.responseType = type;
} else {
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
xhr.responseType = type;
});
}
diff --git a/tests/wpt/web-platform-tests/xhr/responsexml-non-document-types.htm b/tests/wpt/web-platform-tests/xhr/responsexml-non-document-types.htm
index 84d90a8d35a..6d7feea7530 100644
--- a/tests/wpt/web-platform-tests/xhr/responsexml-non-document-types.htm
+++ b/tests/wpt/web-platform-tests/xhr/responsexml-non-document-types.htm
@@ -20,12 +20,12 @@
client.onload = function(){
test.step(function(){
if(type !== 'document'){
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
var x = client.responseXML;
}, 'responseXML throw for '+type)
}
if(type !== 'text'){
- assert_throws("InvalidStateError", function() {
+ assert_throws_dom("InvalidStateError", function() {
var x = client.responseText;
}, 'responseText throws for '+type)
}
diff --git a/tests/wpt/web-platform-tests/xhr/send-authentication-basic-cors-not-enabled.htm b/tests/wpt/web-platform-tests/xhr/send-authentication-basic-cors-not-enabled.htm
index 68ad5e95ed8..2e7cbaf0340 100644
--- a/tests/wpt/web-platform-tests/xhr/send-authentication-basic-cors-not-enabled.htm
+++ b/tests/wpt/web-platform-tests/xhr/send-authentication-basic-cors-not-enabled.htm
@@ -18,7 +18,7 @@
user = token()
client.open("GET", location.protocol+'//'+urlstart + "resources/auth10/auth.py", false, user, 'pass')
client.setRequestHeader("x-user", user)
- assert_throws("NetworkError", function(){ client.send(null) })
+ assert_throws_dom("NetworkError", function(){ client.send(null) })
assert_equals(client.responseText, '')
assert_equals(client.status, 0)
assert_equals(client.getResponseHeader('x-challenge'), null)
diff --git a/tests/wpt/web-platform-tests/xhr/send-data-es-object.any.js b/tests/wpt/web-platform-tests/xhr/send-data-es-object.any.js
index d98a4ca65aa..c6fe5de260c 100644
--- a/tests/wpt/web-platform-tests/xhr/send-data-es-object.any.js
+++ b/tests/wpt/web-platform-tests/xhr/send-data-es-object.any.js
@@ -10,7 +10,13 @@ function do_test(obj, expected, name) {
});
client.open('POST', 'resources/content.py')
if (expected.exception) {
- assert_throws(expected.exception, function(){client.send(obj)})
+ if (expected.exception.identity) {
+ assert_throws_exactly(expected.exception.identity,
+ function(){client.send(obj)})
+ } else {
+ assert_throws_js(expected.exception.ctor,
+ function(){client.send(obj)})
+ }
test.done()
} else {
client.send(obj)
@@ -43,8 +49,9 @@ var myFakeDoc1 = {valueOf:function(){return document}}
do_test(myFakeDoc1, '[object Object]', 'object whose valueOf() returns a document - ignore valueOf(), stringify')
var myFakeDoc2 = {toString:function(){return document}}
-var expectedError = self.GLOBAL.isWorker() ? new ReferenceError() : new TypeError();
-do_test(myFakeDoc2, {exception:expectedError}, 'object whose toString() returns a document, expected to throw')
+var expectedError = self.GLOBAL.isWorker() ? ReferenceError : TypeError;
+do_test(myFakeDoc2, {exception: { ctor: expectedError } }, 'object whose toString() returns a document, expected to throw')
-var myThrower = {toString:function(){throw {name:'FooError', message:'bar'}}}
-do_test(myThrower, {exception:{name:'FooError'}}, 'object whose toString() throws, expected to throw')
+var err = {name:'FooError', message:'bar'};
+var myThrower = {toString:function(){throw err;}};
+do_test(myThrower, {exception: { identity: err }}, 'object whose toString() throws, expected to throw')
diff --git a/tests/wpt/web-platform-tests/xhr/send-data-readablestream.any.js b/tests/wpt/web-platform-tests/xhr/send-data-readablestream.any.js
index cca6e76a042..c53b1071828 100644
--- a/tests/wpt/web-platform-tests/xhr/send-data-readablestream.any.js
+++ b/tests/wpt/web-platform-tests/xhr/send-data-readablestream.any.js
@@ -3,7 +3,7 @@
function assert_xhr(stream) {
const client = new XMLHttpRequest();
client.open("POST", "...");
- assert_throws(new TypeError(), () => client.send(stream));
+ assert_throws_js(TypeError, () => client.send(stream));
}
test(() => {
diff --git a/tests/wpt/web-platform-tests/xhr/send-data-unexpected-tostring.htm b/tests/wpt/web-platform-tests/xhr/send-data-unexpected-tostring.htm
index b8a3b4ae690..290ae2065fc 100644
--- a/tests/wpt/web-platform-tests/xhr/send-data-unexpected-tostring.htm
+++ b/tests/wpt/web-platform-tests/xhr/send-data-unexpected-tostring.htm
@@ -47,7 +47,7 @@
test3.done()
})
client.open('POST', 'resources/content.py')
- assert_throws('InvalidStateError', function(){
+ assert_throws_dom('InvalidStateError', function(){
client.send(objSendsOnStringification)
})
});
diff --git a/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm b/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm
index b9f4fdf99de..2266eb36e1e 100644
--- a/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm
+++ b/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm
@@ -19,7 +19,7 @@
xhr.open("POST", "http://nonexistent.{{host}}:{{ports[http][0]}}", false);
- assert_throws("NetworkError", function()
+ assert_throws_dom("NetworkError", function()
{
xhr.send("Test Message");
});
@@ -33,7 +33,7 @@
xhr.open("GET", "data:text/html;charset=utf-8;base64,PT0NUWVBFIGh0bWw%2BDQo8", false);
- assert_throws("NetworkError", function()
+ assert_throws_dom("NetworkError", function()
{
xhr.send("Test Message");
});
diff --git a/tests/wpt/web-platform-tests/xhr/send-non-same-origin.htm b/tests/wpt/web-platform-tests/xhr/send-non-same-origin.htm
index 6dbbca7477d..bb9f32c174f 100644
--- a/tests/wpt/web-platform-tests/xhr/send-non-same-origin.htm
+++ b/tests/wpt/web-platform-tests/xhr/send-non-same-origin.htm
@@ -18,7 +18,7 @@
test(function() {
var client = new XMLHttpRequest()
client.open("GET", url, false)
- assert_throws("NetworkError", function() { client.send() })
+ assert_throws_dom("NetworkError", function() { client.send() })
}, document.title + " (" + url + ")")
}
url("mailto:test@example.org")
diff --git a/tests/wpt/web-platform-tests/xhr/send-redirect-bogus-sync.htm b/tests/wpt/web-platform-tests/xhr/send-redirect-bogus-sync.htm
index a9dc73e5fd7..0f0598b1645 100644
--- a/tests/wpt/web-platform-tests/xhr/send-redirect-bogus-sync.htm
+++ b/tests/wpt/web-platform-tests/xhr/send-redirect-bogus-sync.htm
@@ -13,7 +13,7 @@
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/redirect.py?location=" + location + "&code=" + code, false)
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, document.title + " (" + code + ": " + location + ")")
}
redirect("301", "foobar://abcd")
diff --git a/tests/wpt/web-platform-tests/xhr/send-redirect-infinite-sync.htm b/tests/wpt/web-platform-tests/xhr/send-redirect-infinite-sync.htm
index 6e9e47e55fc..cc6d7a24bf6 100644
--- a/tests/wpt/web-platform-tests/xhr/send-redirect-infinite-sync.htm
+++ b/tests/wpt/web-platform-tests/xhr/send-redirect-infinite-sync.htm
@@ -15,7 +15,7 @@
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/infinite-redirects.py?type="+code, false)
- assert_throws("NetworkError", function() { client.send(null) })
+ assert_throws_dom("NetworkError", function() { client.send(null) })
}, document.title + " (" + code + ")")
}
redirect("301")
diff --git a/tests/wpt/web-platform-tests/xhr/send-send.any.js b/tests/wpt/web-platform-tests/xhr/send-send.any.js
index 2bfe40436f4..64b15541809 100644
--- a/tests/wpt/web-platform-tests/xhr/send-send.any.js
+++ b/tests/wpt/web-platform-tests/xhr/send-send.any.js
@@ -2,6 +2,6 @@ test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/well-formed.xml")
client.send(null)
- assert_throws("InvalidStateError", function() { client.send(null) })
+ assert_throws_dom("InvalidStateError", function() { client.send(null) })
client.abort()
}, "XMLHttpRequest: send() - send()");
diff --git a/tests/wpt/web-platform-tests/xhr/setrequestheader-after-send.htm b/tests/wpt/web-platform-tests/xhr/setrequestheader-after-send.htm
index 7ccdb3e4c31..174e9ec4196 100644
--- a/tests/wpt/web-platform-tests/xhr/setrequestheader-after-send.htm
+++ b/tests/wpt/web-platform-tests/xhr/setrequestheader-after-send.htm
@@ -15,7 +15,7 @@
client.open("GET", "resources/delay.py?ms=0")
client.onreadystatechange = function() {
test.step(function() {
- assert_throws("InvalidStateError", function() { client.setRequestHeader("x-test", "test") })
+ assert_throws_dom("InvalidStateError", function() { client.setRequestHeader("x-test", "test") })
if(client.readyState == 4)
test.done()
})
diff --git a/tests/wpt/web-platform-tests/xhr/setrequestheader-before-open.htm b/tests/wpt/web-platform-tests/xhr/setrequestheader-before-open.htm
index cbe4b299c9d..5c377fbc100 100644
--- a/tests/wpt/web-platform-tests/xhr/setrequestheader-before-open.htm
+++ b/tests/wpt/web-platform-tests/xhr/setrequestheader-before-open.htm
@@ -11,7 +11,7 @@
<script>
test(function() {
var client = new XMLHttpRequest()
- assert_throws("InvalidStateError", function() { client.setRequestHeader("x-test", "test") })
+ assert_throws_dom("InvalidStateError", function() { client.setRequestHeader("x-test", "test") })
}, 'setRequestHeader invoked before open()')
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-name.htm b/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-name.htm
index 86e55f33a00..ce2308cc67d 100644
--- a/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-name.htm
+++ b/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-name.htm
@@ -27,14 +27,14 @@
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "...")
- assert_throws("SyntaxError", function() { client.setRequestHeader(name, 'x-value') })
+ assert_throws_dom("SyntaxError", function() { client.setRequestHeader(name, 'x-value') })
}, "setRequestHeader should throw with header name " + format_value(invalid_headers[i]) + ".")
}
function try_byte_string(name) {
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "...")
- assert_throws(new TypeError(), function() { client.setRequestHeader(name, 'x-value') })
+ assert_throws_js(TypeError, function() { client.setRequestHeader(name, 'x-value') })
}, "setRequestHeader should throw with header name " + format_value(invalid_byte_strings[i]) + ".")
}
var invalid_headers = ["(", ")", "<", ">", "@", ",", ";", ":", "\\",
diff --git a/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-value.htm b/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-value.htm
index 15fbb390525..cba341c5dc6 100644
--- a/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-value.htm
+++ b/tests/wpt/web-platform-tests/xhr/setrequestheader-bogus-value.htm
@@ -14,7 +14,7 @@
test(function() {
var client = new XMLHttpRequest();
client.open("GET", "...");
- assert_throws("SyntaxError", function() { client.setRequestHeader("x-test", value) }, ' given value ' + value+', ');
+ assert_throws_dom("SyntaxError", function() { client.setRequestHeader("x-test", value) }, ' given value ' + value+', ');
});
}
try_value("t\x00t");
@@ -23,13 +23,13 @@
test(function() {
var client = new XMLHttpRequest();
client.open("GET", "...");
- assert_throws(new TypeError(), function() { client.setRequestHeader("x-test", "テスト") }, ' given value テスト,');
+ assert_throws_js(TypeError, function() { client.setRequestHeader("x-test", "テスト") }, ' given value テスト,');
});
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "...")
- assert_throws(new TypeError(), function() { client.setRequestHeader("x-test") })
+ assert_throws_js(TypeError, function() { client.setRequestHeader("x-test") })
}, 'Omitted value argument')
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/xhr/timeout-sync.htm b/tests/wpt/web-platform-tests/xhr/timeout-sync.htm
index 9815532c70f..d8b2cc48f36 100644
--- a/tests/wpt/web-platform-tests/xhr/timeout-sync.htm
+++ b/tests/wpt/web-platform-tests/xhr/timeout-sync.htm
@@ -13,12 +13,12 @@
test(function() {
var client = new XMLHttpRequest()
client.open('GET', 'folder.txt', false)
- assert_throws("InvalidAccessError", function() { client.timeout = 1000 })
+ assert_throws_dom("InvalidAccessError", function() { client.timeout = 1000 })
}, 'setting timeout attribute on sync request')
test(function() {
var client = new XMLHttpRequest()
client.timeout = 1000
- assert_throws("InvalidAccessError", function() { client.open('GET', 'folder.txt', false) })
+ assert_throws_dom("InvalidAccessError", function() { client.open('GET', 'folder.txt', false) })
}, 'open() with async false when timeout is set')
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/xhr/xmlhttprequest-network-error-sync.htm b/tests/wpt/web-platform-tests/xhr/xmlhttprequest-network-error-sync.htm
index c4a887a1ebe..ee367fbe0ee 100644
--- a/tests/wpt/web-platform-tests/xhr/xmlhttprequest-network-error-sync.htm
+++ b/tests/wpt/web-platform-tests/xhr/xmlhttprequest-network-error-sync.htm
@@ -20,7 +20,7 @@
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/infinite-redirects.py", false)
- assert_throws("NetworkError", function() { client.send(null) }, "send")
+ assert_throws_dom("NetworkError", function() { client.send(null) }, "send")
assert_equals(client.status, 0, "status")
assert_equals(client.statusText, "", "statusText")
assert_equals(client.getAllResponseHeaders(), "", "getAllResponseHeaders")
diff --git a/tests/wpt/web-platform-tests/xhr/xmlhttprequest-unsent.htm b/tests/wpt/web-platform-tests/xhr/xmlhttprequest-unsent.htm
index eb52d63eef9..82282b0163e 100644
--- a/tests/wpt/web-platform-tests/xhr/xmlhttprequest-unsent.htm
+++ b/tests/wpt/web-platform-tests/xhr/xmlhttprequest-unsent.htm
@@ -20,8 +20,8 @@
<script>
test(function() {
var client = new XMLHttpRequest()
- assert_throws("InvalidStateError", function() { client.setRequestHeader("x-test", "test") }, "setRequestHeader")
- assert_throws("InvalidStateError", function() { client.send(null) }, "send")
+ assert_throws_dom("InvalidStateError", function() { client.setRequestHeader("x-test", "test") }, "setRequestHeader")
+ assert_throws_dom("InvalidStateError", function() { client.send(null) }, "send")
assert_equals(client.status, 0, "status")
assert_equals(client.statusText, "", "statusText")
assert_equals(client.getAllResponseHeaders(), "", "getAllResponseHeaders")